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