在需要使用的控制器中,重写actions 动作
如果动作方法存在于控制器中并且不是actions(),会创建一个CInlineAction对象,否则通过actions()中会返回外部动作的关联数组射找到外部动作对象,这个好处是可以共用一些同样的动作,比如下面curd动作代码,通过http://www.test.com/index.php?r=post/read就可以通过外部ReadAction对象读取post
- class PostController extends Controller
- {
- function actions(){
- return array(
- 'create' => array(
- 'class' => 'application.actions.CreateAction',
- 'modelClass' => 'Post',
- ),
- 'update' => array(
- 'class' => 'application.actions.UpdateAction',
- 'modelClass' => 'Post',
- ),
- 'read' => array(
- 'class' => 'application.actions.ReadAction',
- 'param' => 'Postid',
- 'modelClass' => 'Post',
- ),
- 'delete' => array(
- 'class' => 'application.actions.DeleteAction',
- 'modelClass' => 'Post',
- )
- );
- }
- }
- public function actions()
- {
- return array(
- 'page'=>array(
- 'class'=>'CViewAction',
- 'basePath' => '$path',
- 'defaultView '=> '$view'
- ),
- );
- }