digitalrespawn/breadcrumb-bundle
Simple Symfony bundle for building and rendering breadcrumbs in your application. Provides an easy way to define breadcrumb items and generate breadcrumb trails for pages. Includes documentation in Resources/doc and is released under the MIT license.
@Breadcrumb) for declarative configuration, reducing boilerplate.@Breadcrumb) or programmatic API.Route::get() vs. Symfony’s YamlRouteLoader) may require wrappers or adapters.Doctrine\Common\Annotations) may not natively work in Laravel; alternatives like phpDocumentor/reflection would be needed.EventDispatcher), which may clash with Laravel’s ecosystem.spatie/laravel-breadcrumbs (actively maintained).EventDispatcher) acceptable dependencies, or must they be replaced?spatie/laravel-breadcrumbs or a custom solution been evaluated for lower risk?AnnotationReader with Laravel’s phpDocumentor/reflection.EventDispatcher using Laravel’s Illuminate\Events.UrlGenerator (\Illuminate\Routing\Router).symfony/event-dispatcher) may conflict with Laravel’s autoloader. Use composer’s replace or aliases to resolve.BreadcrumbBuilder, BreadcrumbListener) to identify Symfony-specific dependencies.EventDispatcher with Laravel’s).// config/breadcrumb.php
'breadcrumbs' => [
'home' => ['route' => 'home', 'label' => 'Home'],
// ...
],
Route class or use middleware to inject breadcrumb logic.public function handle($request, Closure $next) {
$breadcrumbs = resolve(BreadcrumbBuilder::class)->get();
view()->share('breadcrumbs', $breadcrumbs);
return $next($request);
}
resources/views.@breadcrumb
| Symfony Component | Laravel Equivalent | Notes |
|---|---|---|
EventDispatcher |
Illuminate\Events\Dispatcher |
Use facade or alias. |
AnnotationReader |
phpDocumentor\Reflection |
Manual parsing or custom reader. |
Router |
Illuminate\Routing\Router |
Adapt generate() calls. |
Twig |
Blade | Replace Twig extensions with Blade dirs. |
voku/annotation-parser (lightweight).@Breadcrumb./products/{id}).YamlRouteLoader) are obsolete in Laravel.annotation_cache).UrlGenerator.| Risk | Impact | Mitigation |
|---|---|---|
| Bundle breaks on Laravel upgrade | Critical if tightly coupled. | Isolate in a service provider. |
| Annotation parsing errors | Runtime exceptions. | Validate annotations at boot. |
| Route generation failures | Broken navigation. | Fallback to static breadcrumbs. |
| Dependency conflicts | Autoloader errors. | Use composer aliases. |
@Breadcrumb usage).How can I help you explore Laravel packages today?