Задать вопрос
@Fedooot01

Почему в Laravel Dependency Injections реализован через параметры функций?

Здравствуйте.

Не сразу дошло, что в Laravel если в параметры методов написать что-то вроде public function some_func(Request $request) в $request создастся автоматически класс из подходящего сервис провайдера. По логике прошлого программирования, я наоборот должен был в эту some_func при вызове сам передать переменную $request класса Request.

Почему это сделано именно так? Ведь это сбивает с толку. Почему не сделать получение нужных объектов по типу фасадов или еще какой-нибудь функции, которая бы отдавала запрошенные значения из любого места.
В чем плюс передачи именно в параметрах методов?
  • Вопрос задан
  • 114 просмотров
Подписаться 1 Простой 13 комментариев
Решения вопроса 1
@inFureal
Ничего тебе не мешает сделать через helper app. Внутри в ServiceContainer вызывается make
$service = app(YourCoolService::class);
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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