本文实例讲述了Yii实现单用户博客系统文章详情页插入评论表单的方法。分享给大家供大家参考,具体如下:

action部分:

<?phpfunction test($objs){ $objs->var=10;}class one{ public $var=1;}$obj=new one();echo $obj->var."<p>";test($obj);echo $obj->var;exit;

PostController.php页面:

.../*** Displays a particular model.* @param integer $id the ID of the model to be displayed*/public function actionView($id){  $post=$this->loadModel($id);  $comment=$this->newComment($post);  $this->render("view",array(    "model"=>$post,    "comment"=>$comment,  ));}protected function newComment($post){  $comment=new Comment();  if(isset($_POST["Comment"]))  {   $comment->attributes=$_POST["Comment"];   if($post->addComment($comment))//==============================   {    if($comment->status==Comment::STATUS_PENDING)     Yii::app()->user->setFlash("commentSubmitted","Thank you...");    $this->refresh();   }  }  return $comment;}...

models/Post.php页面:

...public function addComment($comment){  if(Yii::app()->params["commentNeedApproval"])   $comment->status=Comment::STATUS_PENDING;  else   $comment->status=Comment::STATUS_APPROVED;  $comment->post_id=$this->id;  return $comment->save();}...

post/view.php页面:

...<div id="comments"><h3>Leave a Comment</h3><?php if(Yii::app()->user->hasFlash("commentSubmitted")): ?> <div class="flash-success"> <?php echo Yii::app()->user->getFlash("commentSubmitted"); ?> </div><?php else: ?> <?php $this->renderPartial("/comment/_form",array( "model"=>$comment, )); ?><?php endif; ?></div><!-- comments -->...

希望本文所述对大家基于Yii框架的PHP程序设计有所帮助。