本文实例讲述了Yii实现单用户博客系统文章详情页插入评论表单的方法。分享给大家供大家参考,具体如下:
action部分:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
<?php function 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页面:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
... /** * 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页面:
1
2
3
4
5
6
7
8
9
10
11
|
... 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页面:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
... <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程序设计有所帮助。