Forwarded from Библиотека собеса по PHP | вопросы с собеседований
DI — паттерн, при котором зависимости класса передаются извне, а не создаются внутри.
// Плохо — жёсткая связанность:
class OrderService {
private $mailer;
public function __construct() {
$this->mailer = new SmtpMailer(); // зависимость зашита внутри
}
}
// Хорошо — DI:
class OrderService {
public function __construct(private MailerInterface $mailer) {}
}
Зачем:
DI Container (Symfony, Laravel) автоматизирует создание объектов и внедрение зависимостей по всему приложению.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1👍1🔥1