Yii2.0 控制器中behaviors和actions的方法


控制器中使用 behaviors() 在方法執行前 使用指定的驗證器 進行處理數據

public function behaviors() {
    return [
        'access' => [
            'class' => AccessControl::className(), // 使用核心過濾器Access 對執行動作進行驗證
            'only' => ['logout'], // 對logout動作進行驗證
            'rules' => [ // 規則
                [
                    'actions' => ['logout'],
                    'allow' => true, // 只允許認證用戶進行訪問
                    'roles' => ['@'],
                ],
            ],
        ],
        'verbs' => [ // 設置curd動作 所運行的請求方式
            'class' => VerbFilter::className(),
            'actions' => [
                'logout' => ['post'], // post 方法
            ],
        ],
        ];
}

actions的理解

比如在 site/test 的時候,會先在actions方法中找對應請求的 test 方法,如果沒有那么就會在控制器中找actionTest。 

還有就是把公共的方法放在actions()中,這樣對應要調用一些公共的靜態頁面的時候就可以不用謝控制器方法了。

public function actions() {
    return [
        'error' => [
            'class' => 'yii\web\ErrorAction',
        ],
        'captcha' => [
            'class' => 'yii\captcha\CaptchaAction',
            'fixedVerifyCode' => YII_ENV_TEST ? 'testme' : null,
        ],
       //返回驗證
        'tests'=>[
             'class'=>'backend\models\TestAction',
         ]
    ];
}            

 


免責聲明!

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



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