@McMike

Как подлезть в скрипт до начала выполнения в Yii2?

Нужно заблокировать доступ к сайту.
Есть признак в БД, активен сайт или нет(высталяется он из другого места), и если нет, нужно прервать скрипт и вывести сообщение. Т.е. это нужно сделать после прогрузки конфигов, проверить запись в БД и закрыть его. И это должно происходить на всех страницах.

Куда это можно прописать? В какой-то base контроллер?
  • Вопрос задан
  • 208 просмотров
Решения вопроса 1
qonand
@qonand
Software Engineer
Вы можете реализовать этот функционал с помощью механизма начальной загрузки приложения
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@masterfreelance
программист со стажем
Маршрут catchAll
Иногда возникает необходимость временно перевести приложение в режим обслуживания и отображать одно информационное сообщение для всех запросов. Существует много вариантов реализации этой задачи. Но одним из самых простых, является использование свойства yii\web\Application::catchAll, например так:

[
    // ...
    'catchAll' => ['site/offline'],
];

В данном случае, действие site/offline будет обрабатывать все входящие запросы.

Свойство catchAll должно принимать массив, первый элемент которого определяет маршрут, а остальные элементы (пары ключ-значение) определяют параметры, передаваемые действию.
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы