boltconcepts/bdev-routing-extra-bundle
title, breadcrumb, menu items) rather than scattering logic in controllers/views. Laravel’s route model binding and view composers partially achieve this, but this package’s YAML-driven configuration could streamline maintenance for large applications.spatie/laravel-menu) would need adaptation.Route::get() supports route parameters and closures, but lacks native YAML-based metadata. A custom route macro or middleware could inject metadata.{{ route_extra('title') }} → @routeExtra('title')).spatie/laravel-menu, illuminate/breadcrumbs), but this bundle’s unified YAML configuration could reduce duplication.routing.ext.yml → processed by the bundle → injected into Twig.route_breadcrumb()).spatie/laravel-menu, illuminate/breadcrumbs) adequate?Laravel Compatibility Matrix:
| Feature | Symfony2 Bundle | Laravel Equivalent | Integration Path |
|---|---|---|---|
| Route Metadata | routing.ext.yml |
Route model binding, middleware | Custom YAML parser + route macro |
| Twig Extensions | route_extra() |
Blade directives | Create @routeExtra() directive |
| Breadcrumbs | route_breadcrumb() |
illuminate/breadcrumbs |
Merge configs or replace with package |
| Menu System | KNPMenuBundle | spatie/laravel-menu |
Adapt bundle or use existing package |
| Dynamic Titles | Twig {{ route_extra }} |
View composers/middleware | Middleware to set title in view data |
Recommended Stack:
route_extra() (e.g., @routeExtra('title')).spatie/laravel-menu + illuminate/breadcrumbs with YAML config (if desired).routing.ext.yml with Laravel’s config/routing.php or a custom YAML parser.Phase 1: Proof of Concept (2–4 weeks)
spatie/array-to-object) to load route metadata.Route::extraMetadata()) to merge YAML data.route_extra().Phase 2: Full Integration (4–8 weeks)
spatie/laravel-menu (adapt YAML config to its format).illuminate/breadcrumbs with YAML-defined routes.Cache::remember()).Phase 3: Optimization (2–3 weeks)
{{ route_breadcrumb() }} → @breadcrumb()).kernel.request listeners with Laravel middleware.routing.ext.yml to Laravel’s config/routing.php).How can I help you explore Laravel packages today?