Контейнер знает, как создавать объекты и разрешать их зависимости (по типам, именам, тегам). При запросе сервиса контейнер создает его и все зависимости рекурсивно.
// Регистрация
$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, теги, фабрики.