У меня есть 2 варианта для перемещения этой части:
- Переход к частному методу в контроллере.
- Переход к методу обслуживания.
Фактически вы можете перейти в приватный метод в контроллере или в сервисный метод.Если вы перейдете к приватному методу в контроллере, мои советы таковы, что вы должны создать класс контроллера-обертки, который расширит ваш контроллер, и вы поместите этот приватный метод внутрь.Очевидно, этот контроллер будет расширять базовый контроллер Symfony, если ваш первоначальный контроллер уже расширил его.Это может быть хорошо, если вы намереваетесь использовать hasSuccessAuth и authenticateClient только с другими классами контроллеров.Потому что, если вы поместите эту логику в службу, другие службы или команды смогут использовать ее.Это зависит от вас.
Если теперь вы хотите, чтобы эта логика была доступна везде в вашем приложении, лучше создайте службу.Но вы должны спросить себя, будет ли эта новая служба иметь свои собственные данные или получит выгоду от внедрения зависимости.Если да, то создание сервиса - хорошая идея.Если нет, это означает, что вы будете использовать эту логику только для обработки данных, заданных в качестве параметров, и для возврата результата.В этом случае вы должны создать вспомогательный класс со статическими методами.
И у меня есть 2 варианта, что делать с параметрами метода:
- Установить объект запроса в качестве аргумента методаи получить все данные из него в методе.
- Получить все данные из объекта Request в действии контроллера и установить его в качестве аргументов метода.
Это зависит от вас, но еслиэто было мое приложение, я бы выбрал весь объект Request в качестве аргумента метода и все данные из него внутри метода.
И последнее: ваш метод authenticateClient не использует объект Request .