如何获取当前操作参数?

How do I get current action parameter?

我正在为我的操作使用 yii\filters\PageCache 过滤器,我想根据操作参数定义缓存依赖项。

例如我想使用来自请求的 id 行的 yii\caching\DbDependency 到 select updated_at 列。如何引用操作的 id 参数?

Yii::$app->request->get('id');

如果你想在你的缓存中添加依赖,那么试试这个

 $db = Yii::$app->db; // or Category::getDb()
        $dep = new DbDependency();
        $dep->sql = 'SELECT max(update_at) FROM table';
        $model = $db->cache(function ($db) {
            return model::find()->asArray()->orderBy('id ASC')->all();

        },expirytime, $dep);

该代码将检查缓存中的数据(如果存在)将从缓存中加载,否则创建并缓存 it.it 还将检查您的 update_at 文件(如果其值已更改)然后它将更新您的缓存,你不用担心
如果您想访问 yii 中的当前操作,请尝试此代码

 Yii::$app->controller->id; //will return current controller//
    Yii::$app->controller->action->id; //will return current action//
Yii::$app->controller->module->id; //will return current module//

希望对您有所帮助