Laravel по-русски

Русское сообщество разработки на PHP-фреймворке Laravel.

Ты не вошёл. Вход тут.

#1 04.10.2018 11:14:48

Сервис провайдер

Добрый день,
После прочтения данной статьи: https://klisl.com/laravel_service_container.html
а именно:
"В Laravel, внедрить нужную зависимость можно в любой метод любого класса, который регистрируется в сервис-контейнере".
Вопрос:
- Почему в контроллерах можно внедрять зависимости, если контроллер не указан в файле config/app.php в свойстве 'providers'?

Не в сети

#2 04.10.2018 12:02:54

Re: Сервис провайдер

Добрый день.
Не совсем понятен вопрос. А зачем контролер указывать в списке провайдеров? Мы в него внедряем зависимость из классов указанных в этом списке. Ну и внедряем. Он то сам по себе. Зачем его то вносить в этот список?
Мы вообще в него можем через конструктор внедрить любую зависимость, с любого класса, хоть указанного в каком то списке, хоть не указанного. Вы же можете вынести сложную валидацию в отдельный request, а потом внедрить ее через контейнер зависимостей в контролер и использовать его методы. А этот request не будет внесен ни в какие списки, как и сам контролер.

Не в сети

Подвал раздела