本文實例講述了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程序設計有所幫助。