Yii控制器的高级写法

来源:互联网 发布:ubuntu apache php 编辑:程序博客网 时间:2024/05/16 00:58


场景一:你刚入职,在读代码的时候,发现   /Post/edit路由并没有指向到PostController.php文件里actionEdit方法。
但依然可以执行。突然你看到在控制器里这样一段代码。

public function actions(){return array(                'edit'=>'application.controllers.EditAction',);}


场景二:你的某个方法只是执行一些逻辑算数,对本类其他方法没有关联性。但在多个class里需要多次调用。(Action的重用性)
使用方法:
1、在当前控制器声明actions!
public function actions(){
 
}
2、actions里指向一个控制器文件。
public function actions(){  return array(     'edit'=>'application.controllers.EditAction',  );}


表明指向protected/controllers/EditAction.php文件。
3、在php文件写入具体逻辑
<?php/** * Created by PhpStorm. * User: Administrator * Date: 14-5-2 * Time: 上午12:05 */class EditAction extends CAction{    public function run(){        //执行一些逻辑操作    }}


这样,在访问当前控制器下的edit方法,就会运行上面的逻辑!
完!










                                             
0 0
原创粉丝点击