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

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

在重写 beforeAction() 时,没有调用父类的 beforeAction(), 所以定义的 behaviors() 的就没有达到自己想要的效果

 

修改方法:

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

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
//页面缓存
    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

 

 控制器方法例子:

 

posted @   一个人的孤独自白  阅读(1142)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
历史上的今天:
2018-02-23 PHP使用http_build_query()构造URL字符串的方法(可将POST参数组转换拼接成GET请求链接)
点击右上角即可分享
微信分享提示