Что такое Service Container?

Ответ

Service Container (IoC Container) - ядро Laravel. Управляет зависимостями и их внедрением:

// Регистрация
app()->bind(PaymentGateway::class, StripeGateway::class);
app()->singleton(Logger::class, fn() => new FileLogger('/logs'));

// Auto-resolution (без явной регистрации)
class UserController {
    public function __construct(
        private UserService $service, // Laravel сам создаст
    ) {}
}

// Контекстная привязка
app()->when(PhotoController::class)
     ->needs(FileSystem::class)
     ->give(S3FileSystem::class);

Auto-resolution использует Reflection для анализа конструктора и автоматического создания зависимостей.

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