我們常在控制器中看到一個actions的方法,這個方法具體的作用是共用一些功能相同的action,方便調用。
當然我們也可以自已寫一些action來進行調用。在項目目錄下創建common目錄,並創建TestAction.php文件。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}";
}
}
控制器代碼如下:
<?php
namespace app\controllers;
use YII;
use yii\web\Controller;
class IndexController extends Controller
{
//actions的作用主要是共用功能相同的方法
public function actions()
{
return [
'test' => [
'class' => 'app\common\TestAction',
'param1' => 'hello',
'param2' => 'world',
'param3' => '!!!',
],
];
}
}
這樣我們在地址欄就可以通過/index/test來訪問調用了。

