tkovacs
@tkovacs
веб мастер

Как работает внедрение зависимостей?

Где можно почитать информацию о том как работает внедрение зависимостей?
На примере laravel
Public function(Book $book) {
}
Где создаётся объект класса, как приложение понимает какой объект создавать. Везде написано что это хорошо и прекрасно, но не могу найти в примерах как это работает.
  • Вопрос задан
  • 62 просмотра
Пригласить эксперта
Ответы на вопрос 2
Maksclub
@Maksclub Куратор тега PHP
maksfedorov.ru
class Author {
     public function __constructor (private Book $book) {
     }
}


Так и передается: new Author(new Book())— явно при создании

Если объект не бизнес сущность, а некоторый класс приложения, то обычно это не руками делается, а занимается этой работой некоторый служебный слой, некоторый контейнер, который за тебя разрулит как всю матрешку зависимостей создать и вложить друг в друга. Паттерн называется: DI Container
Ответ написан
Комментировать
На примере Symfony. Доки:
Автоматическое внедрение зависимостей в конструктор - Autowiring
Автоматическое внедрение зависимостей в аргументы методов контроллеров - Argument Resolvers
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы