> Что такое Dependency Injection (DI) (PHP)

Уровень: junior · Роль: backend · Язык: PHP · Категория: Технические вопросы

Компании: Travelata, vanta

Стек: PHP

> Пример ответа

Dependency Injection (DI) - это паттерн проектирования, при котором зависимости класса (например, объекты других классов) передаются извне, а не создаются внутри самого класса. В PHP это часто реализуется через конструктор, сеттер или специальный контейнер.

Пример без DI (жесткая связь):

PHP
class UserService {
private $db;
public function __construct() {
$this->db = new Database(); // жесткая зависимость
}
}

С DI (слабая связь):

PHP
class UserService {
private $db;
public function __construct(Database $db) { // зависимость передается
$this->db = $db;
}
}

Преимущества: упрощение тестирования (можно подменить mock-объектом), повышение гибкости и переиспользуемости кода. В современных PHP-фреймворках (Laravel, Symfony) DI реализуется через Service Container, который автоматически разрешает зависимости.

> ГОТОВЫ К СЛЕДУЮЩЕМУ СОБЕСЕДОВАНИЮ?

Запустите тренировочную сессию с ИИ и получите детальную обратную связь, чтобы увереннее проходить реальные интервью