Yii2 actions()方法
参考:http://www.cnblogs.com/jkko123/p/8669728.html
这个其实就是在一个类方法中引用一个方法过来【注入一个方法到一个类中】
先来创建个继承action的方法
<?php
//注意这里的命名空间,要跟你的目录对应
namespace app\common;
use yii\base\Action;
//我们需要继承yii\base\Action类
class TestAction extends Action {
//这里面的三个参数的值是通过控制器actions中配置而来的
public $param1 = null;
public $param2 = null;
public $param3 = null;
//实现run方法
public function run() {
echo "test run param1: {$this->param1} param2: {$this->param2} param3: {$this->param3}";
}
}
然后控制器中直接使用actions方法
//actions的作用主要是共用功能相同的方法
public function actions()
{
return [
'test' => [
'class' => 'app\common\TestAction',// 将这个方法映射过来
'param1' => 'hello',
'param2' => 'world',
'param3' => '!!!',
],
];
}
最后就可以直接URL:/index/test 访问了
【见我自己的列子】
public function actions()
{
$actions = parent::actions();
// 企业评审标准信息
$actions['standard'] = [
'class' => CompanyStandUpdateAction::class,
'companyId' => Tools::getCurrentCompanyId(),
'redirectAction' => ['standard']
];
return $actions;
}
//然后我自己的url访问的地址是:http://b.risk.com/company/standard

浙公网安备 33010602011771号