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

控制器方法例子:

