📡 You're offline — showing cached content
New version available!
Quick Access
Tutorials Laravel Framework Service Providers

Service Providers

5 min read
Bootstrap app features in Service Providers — register bindings in register(), run setup in boot().

Service Providers

php artisan make:provider PaymentServiceProvider

class PaymentServiceProvider extends ServiceProvider {
    public function register(): void {
        $this->app->singleton(PaymentGateway::class, function ($app) {
            return new StripeGateway(config("services.stripe.key"));
        });
    }

    public function boot(): void {
        // Run after all providers registered
        View::share("siteName", config("app.name"));
        Validator::extend("phone", fn($a, $v) => preg_match("/^+?d{10,15}$/", $v));
        Route::model("user", User::class);
    }
}

// Register in bootstrap/providers.php (Laravel 11)
return [
    PaymentServiceProvider::class,
];