Providers
Modularous ships with seven service providers. They form a strict registration hierarchy — the application only needs to register one entry point (ModularousProvider) and all others are booted in order.
Provider Hierarchy
ModularousProvider ← register in config/app.php
├── GeoIPServiceProvider (third-party)
├── TimezoneServiceProvider (third-party)
├── BaseServiceProvider ← core bindings, macros, view composers
├── ModuleServiceProvider ← per-module boot (migrations, routes, views, lang)
├── RouteServiceProvider ← system & module routing, route macros
├── AuthServiceProvider ← gates, Horizon auth, email verification
└── CoverageServiceProvider ← code coverage analysis serviceServiceProvider is the abstract base all internal providers extend. It is never registered directly.
Provider Reference
| Provider | Source | Responsibility |
|---|---|---|
ServiceProvider | Providers/ServiceProvider.php | Abstract base — $baseKey, config merge strategy, publishable view paths |
ModularousProvider | Providers/ModularousProvider.php | Entry point — registers all other providers in order |
BaseServiceProvider | Providers/BaseServiceProvider.php | Core bindings, commands, macros, view composers, log channels, scheduler |
ModuleServiceProvider | Providers/ModuleServiceProvider.php | Boots every enabled nwidart module (migrations, views, lang, commands, providers) |
RouteServiceProvider | Providers/RouteServiceProvider.php | Registers system routes, module routes, and route macros |
AuthServiceProvider | Providers/AuthServiceProvider.php | Gates, Horizon access, custom email-verification URL/mail |
TelescopeServiceProvider | Providers/TelescopeServiceProvider.php | Telescope access control and entry filtering |
CoverageServiceProvider | Providers/CoverageServiceProvider.php | Code-coverage analysis bindings and commands |
Registration
Add only the entry-point provider to your application:
php
// config/app.php
'providers' => [
// ...
Unusualify\Modularous\Providers\ModularousProvider::class,
],