Глосарій

Dependency Injection

Dependency Injection (DI) — патерн, при якому об'єкт отримує свої залежності ззовні, а не створює їх сам. Замість new Mailer() всередині класу — Mailer $mailer у конструкторі. Клас лише оголошує, що йому потрібно.

Чому це важливо

Клас, який сам створює залежності, жорстко прив'язаний до їхніх конкретних реалізацій. DI дозволяє підміняти реалізації — наприклад, у тестах замінити реальний поштовий клієнт на фейковий — без змін у коді класу.

IoC-контейнер

Більшість фреймворків мають вбудований контейнер, який автоматично резолвить залежності: читає конструктор класу, знаходить зареєстровані реалізації інтерфейсів і передає їх. Ви описуєте «що потрібно» — контейнер вирішує «де це взяти».

Три способи інжекції