原文地址: http://www.cn09.com/archives/403
actions独立操作,常用的有验证码等
在平时开发中, 有很多方法在多个控制器中都有重复调用, 那么可以将这个方法单独放在一个文件里利用Controller里actions方法调用(actions可同时调用多个方法).
例一 :
原文地址: http://blog.csdn.net/terry_water/article/details/39780655
创建验证码 actions/captcha.php
namespace app\actions;
class Captcha extends \yii\base\Action
{
public $view = 'index';//这个可以在actions中传参
//这个run()方法是必须的
public function run()
{
return $this->controller->render($view);//这个也是必须的,设置显示哪个模版
}
}
使用:
class SiteController extends \yii\web\Controller
{
public function actions()
{
return [
'captcha' => [ //这个就是在siteController(本Controller)里调用actions里一个方法的名称,名称可自定义
'class' => 'app\actions\captcha',//制定要调用独立方法的类
'view' => 'about', //这个就是在captcha类中的view属性传值
],
];
}
}
可单独访问:www.xxxx.com/r=site/captcha
actions() 返回的是一个name-value数组,name为调用动作(action)的名称,(就是上面captcha这个名称,这个可自定义,叫阿猫阿狗都行),class为实现的动作的类,view为action要使用的模板文件(view是自定义的参数和属性)。注 :其中class为必填项目, view是captcha里面的属性赋值参数