Считается ли это подходом фасадов в Laravel?
У меня есть часть функциональности, которая идентифицирует доступ по данному токену (строке). Если указан действительный токен, сеанс должен быть заполнен допустимой записью (используя SessionInterface
). Я настроил свой VerifyToken
middleware и хотел бы использовать подход, подобный Guard, для проверки моих токенов и хранения сеансов.
Мой вопрос, считается ли этот тип функциональности фасадом в Laravel? Если так; какое было бы подходящее место для хранения этих файлов (например, app\Facades
а также app\Facades\Contracts
хранить интерфейсы)?
1 ответ
Фасад в Laravel - это только способ разрешить привязку из сервисного контейнера.
Таким образом, для меня Фасады сами по себе рассматриваются не как "функциональность приложения", а как способ доступа к службам (которые предоставляют функциональность), хранящимся в вашем контейнере услуг.
При этом, если вы хотите создавать сервисы с подходом, похожим на Guard, я думаю, что, как обычно, структура каталогов зависит от вас: Laravel очень гибок в этом контексте
После того, как вы построите свои классы обслуживания, если вы считаете, что это будет полезно, вы можете внедрить один или несколько фасадов для доступа к некоторым услугам.
Лично я не большой поклонник Фасада, я думаю, что лучше использовать Dependency Injection (через параметры метода или конструктора), где это возможно: это внедрит ваши сервисы там, где это необходимо, но в то же время сохранит ваши кодовые зависимости более ясными, так как они немедленно видны из подписи метода