sidus/base-bundle
Sidus BaseBundle for Symfony streamlines service loading and routing via action services, simplifies param converters, and adds helpful compiler passes and utilities. Includes DateTime/translation helpers, validator constraint loader, and form type extensions.
Route::get(), RouteServiceProvider) and controller binding (Route::bind()) diverge from Symfony’s YAML-based routing.Route::model()) provide similar functionality, but the bundle’s GenericCompilerPass and AbstractParamConverter would require custom Laravel implementations (e.g., via BootstrapServiceProvider or ServiceProvider extensions).DateTimeUtility and TranslatorUtility could be directly ported as standalone Laravel helpers or facade wrappers, but lack native Laravel integration (e.g., no trans() pipeline support).SidusBaseExtension, YAML service loading) are non-trivial to adapt without rewriting core logic. Laravel’s config/, app/Providers/, and routes/ directories replace Symfony’s DependencyInjection and YAML configurations.Illuminate\Bus\Dispatcher).DateTimeUtility and TranslatorUtility could be extracted as standalone packages (e.g., laravel-date-time-helper).BaseLoader for constraints could integrate with Laravel’s Form Request validation or API Resources, but would need custom binding.Route::get('/path', 'Controller@method')) conflicts with the bundle’s explicit service-based routing. A custom RouteServiceProvider extension would be needed to map service IDs to routes.Extension, CompilerPass) would require significant refactoring to work in Laravel, potentially exceeding the value proposition.symfony/dependency-injection) could complicate Laravel’s autoloader and increase build complexity.Illuminate\Foundation\Application, Validator)?spatie/array-to-xml, nesbot/carbon for datetime) without Symfony dependencies?laravel-actions, spatie/laravel-activitylog) that provide similar functionality with better compatibility?DateTimeUtility) validate the effort?Extension, CompilerPass) are poorly compatible.Illuminate\Contracts\Container and Illuminate\Validation\Validator.Carbon for datetime, laravel-translatable for translation).Route::bind()) or API resource controllers.DateTimeUtility) as a Laravel facade/package to validate effort.bind() or tagging system.Extension with a Laravel ServiceProvider (e.g., SidusBaseServiceProvider).GenericCompilerPass to Laravel’s boot method or service provider hooks.RouteServiceProvider and implicit controller binding.app()->make() or resolve().Validator::make() or Form Requests.nesbot/carbon, spatie/laravel-translatable).RouteServiceProvider.Extension class → Laravel’s ServiceProvider.SidusBaseServiceProviderTrait).symfony/dependency-injection only for specific features).| Step | Task | Dependencies | Risk |
|---|---|---|---|
| 1 | Feature Gap Analysis | Bundle docs, Laravel equivalents | Low |
| 2 | PoC: Utility Extraction | Carbon, spatie/laravel-translatable |
Low |
| 3 | Service Provider Adaptation | Laravel ServiceProvider |
Medium |
| 4 | Compiler Pass Replacement | Laravel boot() method |
High |
| 5 | Routing System Overhaul | Laravel RouteServiceProvider |
Critical |
| 6 | Validation Integration | Laravel Validator |
Medium |
| 7 | Testing & Deprecation | All prior steps | High |
boot() method may slow application startup if overused.App::singleton()).How can I help you explore Laravel packages today?