Yii2将函数应用于所有请求

Yii2将函数应用于所有请求,yii2,yii2-advanced-app,Yii2,Yii2 Advanced App,有没有办法将函数应用于Yii2中的所有请求和查询 我想替换所有字符的特定字符 我正在使用Yii2高级应用程序 谢谢 这是配置文件: $config = [ 'language' => 'en', 'components' => [ 'request' => [ 'cookieValidationKey' => 'something', ], 'authManager' => [

有没有办法将函数应用于Yii2中的所有请求和查询

我想替换所有字符的特定字符

我正在使用Yii2高级应用程序

谢谢

这是配置文件:

$config = [
    'language' => 'en',
    'components' => [
        'request' => [
            'cookieValidationKey' => 'something',
        ],
        'authManager' => [
            'class' => 'yii\rbac\DbManager',
            'defaultRoles' => ['guest'],
        ],
        'urlManager' => [
            'enablePrettyUrl' => true,
            'showScriptName' => false,
        ],
    ],
];

return $config;
我有一个梦想。您可以扩展
yii\web\request
并定义自定义实现

[
    ...
    'components' =>
        'request' => [
            'class' => '\common\MyRequest',
            'addGeoLocationForExample' => true,
        ]
        ...

如果不扩展每个请求上的自定义代码,则可以像这样执行(将其添加到应用程序配置中):


根据需要执行代码的时间(请求之前或之后),相应地使用
'on beforeRequest'
'on afterRequest'

我添加了配置文件内容。你能告诉我怎么换吗?
return [        
    'on beforeRequest' => function () {
        if (!Yii::$app->get('user', false)) {
            return;
        }

        $user = User::getCurrent();
        if ($user) {
            Yii::$app->setTimeZone($user->time_zone);
        }
    },
    'on afterRequest' => function () {
        ...
    },
];