yii2 在控制器重寫 beforeAction() 方法時,behaviors 失效、不可用的原因


behaviors失效,behaviors執行不在控制器前的原因:

在重寫 beforeAction() 時,沒有調用父類的 beforeAction(), 所以定義的 behaviors() 的就沒有達到自己想要的效果

 

修改方法:

    public function beforeAction($action)
    {
        retrun parent::beforeAction($action);
    }

 

//頁面緩存
    public function behaviors(){
        return [
            [
                'class' => 'yii\filters\PageCache',
                'duration' => 86400,//時間設置,0為無限時間
                //'only' =>['index'], //規定緩存哪一個,默認為全部
                 'variations' => [  // 根據語言的不同,生成多個緩存
                     \Yii::$app->language,
                      \Yii::$app->request->get('pageCache'),
                 ],
                'enabled' => true
            ]
        ];
    }

修改組件配置文件 /common/config/main.php

 

 控制器方法例子:

 


免責聲明!

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



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