Настройка динамического часового пояса в yii2
кто-нибудь знает, как настроить динамический пояс для каждого пользователя? Если зона хранится в базе данных, как я могу получить его из БД и установить его во время выполнения, так что мне не нужно устанавливать его каждый раз в мой код?
1 ответов
Это пример того, как это сделать, предполагая, что часовой пояс хранится как строка в столбце timezone
на users
таблица. Добавьте это в конфигурацию приложения:
'on beforeRequest' => function () {
$user = Yii::$app->user->identity;
if ($user && $user->timezone) {
Yii::$app->setTimeZone($user->timezone);
}
},
этот код будет выполняться перед запросом и устанавливать часовой пояс в зависимости от конкретного пользователя. Конечно, вы можете переместить его в отдельный класс и называют его здесь.
официальные документы: