Что такое DI-контейнер?

Ответ

Контейнер знает, как создавать объекты и разрешать их зависимости (по типам, именам, тегам). При запросе сервиса контейнер создает его и все зависимости рекурсивно.

// Регистрация
$container->bind(LoggerInterface::class, FileLogger::class);
$container->singleton(Connection::class, fn() => new PdoConnection(...));

// Резолв
$logger = $container->make(LoggerInterface::class);

В PHP: Laravel Container, Symfony DI, PHP-DI. Поддерживают autowiring, теги, фабрики.

🧠Квиз 🏆Лидеры 🎯Собесед. 📖Вопросы 📚База зн.