@vladislav997

Куда добавить один раз код чтобы он отрабатывал по определенному нейспейсу для всех контроллеров и их методов?

Такой вопрос, есть проект на симфони, есть каталог в контроллерах Dashboard с неймспейсами App\Controller\Dashboard. Для всех контроллеров и их методов нужно добавить везде следующий код, который со временем будет дополнятся:
if($bot->getUser() != $this->getUser()) {
    throw $this->createNotFoundException('Access is denied')
}

Пихать это все в каждый метод идея не очень, как это можно по нормальному сделать?
  • Вопрос задан
  • 54 просмотра
Пригласить эксперта
Ответы на вопрос 2
@sl0
Пишете свой subsriber на kernel.controller.
Там уже проверяете на необходимое условие по неймспейсу и меняете контроллер как заблагорассудится.
Ответ написан
Комментировать
deniev
@deniev
А создать сервис с твоим кодом в методе, и вызывать его в необходимых методах не выход?
Как минимум при изменениях не придется везде менять код.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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