Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Menu Builder Bundle Laravel Package

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.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Build vs. buy for navigation/menu management. This package still only informs the narrow question: “should we add a fluent menu-definition layer on top of KnpMenu?” It is not a menu system and does not change the broader build-vs-buy case for database-backed, editor-managed, multi-locale, or permission-aware navigation. The 0.2.1 release adds PHP 8 support and an active method, which improves day-to-day ergonomics for code-declared menus but does not make it a strategic navigation platform.
  • Stack-fit gating. Despite being catalogued alongside Laravel/PHP packages, this remains a Symfony bundle (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.
  • Roadmap input on admin-configurable navigation. Customer-facing asks like “let marketing edit the main nav,” multi-locale menus, and permission-aware menu items remain out of scope. The 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.
  • Use cases it plausibly serves (Symfony only): small internal tools, admin panels, or prototypes where a developer wants to declare menus in code with less boilerplate than raw KnpMenu configuration, and now wants PHP 8 compatibility plus a simple active-item helper.
  • Dependency-portfolio hygiene. The 0.2.1 release breaks the long dormancy and reduces the PHP 8 compatibility objection, but adoption remains negligible (2 stars, 0 dependents as previously observed). It is still a small, single-maintainer dependency rather than a well-supported menu platform.

When to Consider This Package

Adopt only if all of the following hold:

  • The project is Symfony, not Laravel, and already uses (or has committed to) KnpMenu — otherwise you are adopting two dependencies to get one capability.
  • You need a code-declared menu and have explicitly ruled out config-driven or CMS-driven navigation.
  • You need PHP 8 compatibility and/or the new active helper, and the alternative is writing a small in-house builder around KnpMenu.
  • You accept ownership risk: prior release was 2021-06-11, 0.2.1 is a minimal maintenance signal, there are no dependents to surface regressions, and the bus factor remains effectively one.
  • The functionality is small enough that forking it into your own src/ is a realistic fallback (it is — this remains the strongest argument for just writing it yourself).

Look elsewhere when:

  • Laravel stack: use 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.
  • You need editor-managed or DB-backed menus: use a CMS/headless CMS navigation model or build a menus/menu_items schema with an admin UI.
  • You need active maintenance, security patching, or vendor support: 0.2.1 is a positive signal but not enough to treat this as actively supported infrastructure; a stale PHP package is still a slow-moving upgrade tax on major framework bumps.
  • Menus are core UX (multi-level, permission-filtered, A/B-tested nav): the abstraction is too thin to pay off; invest in your own domain model.

How to Pitch It (Stakeholders)

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.

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
uni-method/symfony-lib
tacticmedia/scim-server-bundle
neika-ai/symfony-bundle
mattleads/agent-publishing-bundle
glavweb/framework-bundle
glavweb/extra-bundle
glavweb/api-bundle
glavweb/admin-bundle
adachsoft/api-version-bundle
elsayed85/laravel-api-exceptions
ouhssini/laravel-demo-mode
daworks/ncloud-outbound-mailer-driver
gp247/cms
ignibyte/aic-gates
nexa-merchant/blog
novasa/laravel-language-center
opencage/geocode
adolfoholzer/parameters
livenetworks/ln-starter
shitoudev/permissionmanager