Что такое Service Provider?

Ответ

Service Provider - центральное место для регистрации сервисов, привязок, событий, middleware:

class PaymentServiceProvider extends ServiceProvider {
    public function register(): void {
        // Привязки в контейнер
        $this->app->singleton(PaymentGateway::class, StripeGateway::class);
    }

    public function boot(): void {
        // После регистрации всех провайдеров
        // Маршруты, события, команды
        $this->loadRoutesFrom(__DIR__.'/../routes/payment.php');
        $this->loadMigrationsFrom(__DIR__.'/../database/migrations');
    }
}

Провайдеры регистрируются в config/app.php. register() - только привязки. boot() - любая логика (все сервисы уже доступны).

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