Yii2 — есть ли реализация preController?

Привет "тостерам"!

Подскажите идею (идею, а не реализацию). Сижу, вот ломаю голову немного - как все же правильно?
Пишу приложение на Yii2 (advanced). Хочется организовать что-то preController'a что ли. Например, я храню язык приложения в БД. Через backend есть возможность сменить язык по-дефолту. Писать в конфигурационном файле 'language' => 'en-EN' - не совсем гибко. Как же потом этим пользоваться? Везде проставлять язык? - Нет!

Пока возникла только вот какая идея. Реализовать что-то типа FrontendController, который унаследуется от yii\web\Controller. В нем в методе init() все "прочитать" и "установить" (не только language, но и другие опции). Уже дальнейшие контроллеры наследовать от FrontendController. Таким образом у меня уже будет установлен язык, который прописан в БД.

Знатоки Yii, что можно и что правильнее придумать?
  • Вопрос задан
  • 2358 просмотров
Решения вопроса 1
Павел Шорохов конечно же неправ. God-классы - плохой паттерн. Переопределения нужно делать тогда, когда они нужны.
А вот повесить поведение на beforeRequest - то, что нужно. https://github.com/yiisoft/yii2/blob/master/docs/g...
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы