idci/nav-bar-bundle
A Symfony bundle that adds a configurable navigation bar to your application, letting you define menus, links, and routes in configuration and render them with Twig. Useful for centralizing site navigation and keeping templates free of hardcoded menu markup.
idci/nav-bar-bundle is a Symfony2 bundle, not a Laravel package. Symfony 2.x reached end-of-life in 2018. If our stack is Laravel — which it is — this is not a "maybe, let's spike it," it's a non-starter. Closing this thread is itself a product decision: it saves a pointless evaluation cycle and prevents a well-meaning engineer from burning a sprint on an impossible integration.MenuItem value object and a recursive Blade component. Estimate: one to two days, fully owned, on a supported framework. "Buying" here means inheriting a dead abstraction plus permanent maintenance obligations for code that renders a list of links.Consider it only if all of the following are true:
Look elsewhere — or build — when:
spatie/laravel-menu, lavary/laravel-menu, or a hand-rolled Blade component plus config. For Symfony 4/5/6+, KnpMenuBundle is the maintained, widely-adopted answer.Recommendation: do not adopt. Build a thin internal navigation component instead.
For executives (one paragraph): We evaluated idci/nav-bar-bundle for navigation management and recommend against it. It targets Symfony2, a PHP framework that stopped receiving updates in 2018 — incompatible with our Laravel stack and a security liability if forced in. It also has no community adoption: zero stars, zero dependent projects. Nobody else uses it, nobody fixes it, and we would be its sole maintainer forever. The underlying need is low-complexity — roughly a menu value object, a config file, and a rendering component, on the order of one to two days of work. Buying saves nothing and creates an orphaned dependency we would have to rip out later. We recommend building the thin component and redirecting the saved risk budget into accessibility and mobile behavior, which is where navigation quality is actually won.
For engineering: It's a Symfony2 bundle; we're not on Symfony2. Setting that aside entirely, the maintenance profile is disqualifying — no stars, no dependents, no upgrade path, and Symfony2-era code is untested on PHP 8.x. Proposal: a Menu/MenuItem value-object pair plus a recursive Blade component (<x-nav.menu :items="$items" />), menu definitions in config (or a cached menus table if Product wants admin editing), active-state resolution via request()->routeIs(), and authorization evaluated through Laravel gates at render time. Explicit attention to ARIA, keyboard navigation, and mobile behavior. Tests for nesting, active state, and permission gating. Roughly: day 0 confirm static vs. DB-backed requirement; day 1 two-hour spike to document the Composer conflict and close the question permanently; day 1–2 build and test; day 3 integrate into the layout and ship. If we ever move to Symfony, KnpMenuBundle is the vetted equivalent — worth recording in the ADR, along with the general rule that we set a minimum dependency health bar before any third-party adoption. This package is a clean example of why.
How can I help you explore Laravel packages today?