YII2中actions的作用與使用


我們常在控制器中看到一個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來訪問調用了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM