happyr/menu-builder-bundle
A Symfony bundle that simplifies creating and managing navigation menus. Define menu items and hierarchies in configuration or code, then render them in Twig templates with a clean, flexible API. Useful for site navigation, admin sidebars, and reusable menu structures.
active method, which improves day-to-day ergonomics for code-declared menus but does not make it a strategic navigation platform.menu-builder-bundle, Happyr). For a Laravel codebase it supports exactly one decision: do not adopt. For a Symfony codebase it is a minor tooling choice inside an existing KnpMenu investment.active method helps with active-state highlighting, not with content management or navigation governance. Do not cite this package as an enabler for CMS-driven or DB-backed navigation roadmap items.Adopt only if all of the following hold:
active helper, and the alternative is writing a small in-house builder around KnpMenu.src/ is a realistic fallback (it is — this remains the strongest argument for just writing it yourself).Look elsewhere when:
spatie/laravel-menu, native Blade components, or a small in-house menu service. This bundle will not install cleanly and carries zero Laravel ecosystem value.menus/menu_items schema with an admin UI.For executives: We re-evaluated happyr/menu-builder-bundle after its 0.2.1 release, which adds PHP 8 support and an active helper. That is a meaningful maintenance signal after a long gap, but it does not change the strategic picture: this is a small, MIT-licensed Symfony utility with negligible adoption (2 GitHub stars, 0 dependent projects) and a very narrow convenience-layer value proposition. Recommendation: do not adopt as a new dependency. If a Symfony team already uses it, 0.2.1 is a reasonable patch to stay PHP 8 compatible and simplify active-menu highlighting. For everyone else, menu management should remain an in-house capability or, if we need editor-managed navigation, a small roadmap item — not a third-party bundle decision.
For engineering: It is a Symfony bundle wrapping KnpMenu with a fluent builder. 0.2.1 adds PHP 8 support and an active method, which removes a common compatibility objection and reduces boilerplate for active-state menu rendering. It is still not applicable to our Laravel services; for Symfony it is a convenience layer, not infrastructure. Given the tiny surface area, thin maintainer base, and zero dependents, the total cost of ownership still likely exceeds the ~1–2 days to implement equivalent helpers ourselves. If a Symfony team genuinely wants it, prefer pinning to 0.2.1 or forking it into the repo rather than treating Packagist as a supported vendor dependency.
How can I help you explore Laravel packages today?