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

Config Knp Menu Bundle Laravel Package

jbouzekri/config-knp-menu-bundle

A Symfony bundle that brings configuration-driven menus to KnpMenuBundle, letting you define navigation menus in YAML instead of PHP. It simplifies menu setup and maintenance while leveraging KnpMenu’s rendering, extensions, and Symfony integration.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Time-to-market for navigation and IA changes. Menu structure moves from PHP builders into YAML, so reordering items, relabeling, or gating a section becomes a config change plus a deploy — not an engineering ticket. This directly shortens the loop on "can we ship this nav change with the pricing page launch?"
  • Build vs. buy vs. adopt. The core question this package forces is whether per-bundle menu composition is worth a dependency at all. With 6 stars, 0 dependents, and a last release in March 2023, the honest answer is: adopt only if it removes more code than it adds, otherwise absorb the ~200 lines into your own bundle and own it.
  • Modular monolith / multi-bundle roadmap. Its real value proposition — "each bundle contributes its own menu fragment via YAML, merged at runtime" — maps to a product architecture where features ship as self-contained bundles (billing, admin, reporting) and shouldn't have to edit a central menu builder to appear in the nav.
  • White-label and per-tenant navigation. If the roadmap includes customer-specific or plan-gated menus, config-driven menus make per-tenant overrides a data problem rather than a code-branching problem.
  • Platform currency decisions. Last release 2023 and a Symfony bundle structure mean this package should be evaluated as a migration blocker, not a feature. It informs the "how long can we stay on this Symfony/KnpMenu version" conversation.

When to Consider This Package

Adopt when all of the following hold:

  • You are on Symfony with KnpMenuBundle — note the framework mismatch explicitly: this is a Symfony bundle, not a Laravel package. It has no applicability to a Laravel codebase, so confirm the stack before this enters any backlog.
  • Your KnpMenuBundle version predates the native config-based menu definition (knp_menu.menus with children/builder), which upstream has offered since the 2.2 line. If you're on a modern KnpMenuBundle, this package is largely redundant — that is the single most important build-vs-buy finding here.
  • You genuinely have multiple bundles contributing to shared menus and the merge/ordering logic is costing you real maintenance time.
  • You accept a low-traffic, single-maintainer dependency and are prepared to fork it. Budget for that; don't pretend it's a maintained vendor.

Look elsewhere when:

  • The project is Laravel, or Symfony without KnpMenu, or uses Sylius / Sonata / EasyAdmin — each has its own menu abstraction and this adds nothing.
  • You're on KnpMenuBundle ≥ 2.2 and can express the same menus upstream — prefer zero new dependencies.
  • The menu is small enough that one PHP builder is clearer than a YAML indirection layer.
  • Your navigation is frontend-driven (React/Vue router config, headless CMS), in which case the decision belongs in the frontend stack, not here.
  • You need security review, SLA, or CVE responsiveness — a 6-star package with no dependents will not get it.

How to Pitch It (Stakeholders)

Executive summary: This is a small Symfony utility that lets teams define navigation menus in YAML across project bundles instead of hand-writing PHP. It's a developer-productivity tool, not a product feature — its value is faster, lower-risk nav and IA changes, especially in modular or white-label architectures. We do not recommend adding it as a dependency: adoption is essentially zero (6 stars, 0 dependents), it hasn't shipped since March 2023, and modern KnpMenuBundle already supports config-defined menus natively. The right call is to borrow the pattern, not the package — either use upstream's native YAML menu configuration or vendor its small merge logic into our own bundle so we control maintenance.

For engineering: evaluate against KnpMenuBundle's built-in knp_menu.menus configuration first; if that covers per-bundle menu fragments, close this as "solved upstream." If it doesn't, the implementation is small enough to own internally, which removes a supply-chain and framework-upgrade risk from our dependency graph.

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.
novasa/laravel-language-center
opencage/geocode
adolfoholzer/parameters
livenetworks/ln-starter
shitoudev/permissionmanager
johannesclimacus/laravel-tui
hocvt/seotools
vitalybaev/sypexgeo
amphibee/themosis-ignition
gito-me/fast-excel
frankyso/laravel-ipaymu
geolize-studio/laravel-chile
boomerangui/chat
cgv/localized-resource
noith/settings
kda/laravel-package
kda/filament-dynamic-navigation
bypersoft/signbox
pairus/product-data
fayne/laravel-filament-cms-core