Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
Страницы 1
Добрый день,
После прочтения данной статьи: https://klisl.com/laravel_service_container.html
а именно:
"В Laravel, внедрить нужную зависимость можно в любой метод любого класса, который регистрируется в сервис-контейнере".
Вопрос:
- Почему в контроллерах можно внедрять зависимости, если контроллер не указан в файле config/app.php в свойстве 'providers'?
Не в сети
Добрый день.
Не совсем понятен вопрос. А зачем контролер указывать в списке провайдеров? Мы в него внедряем зависимость из классов указанных в этом списке. Ну и внедряем. Он то сам по себе. Зачем его то вносить в этот список?
Мы вообще в него можем через конструктор внедрить любую зависимость, с любого класса, хоть указанного в каком то списке, хоть не указанного. Вы же можете вынести сложную валидацию в отдельный request, а потом внедрить ее через контейнер зависимостей в контролер и использовать его методы. А этот request не будет внесен ни в какие списки, как и сам контролер.
Не в сети
Страницы 1