kevintweber/ktw-database-menu-bundle
A Symfony bundle for creating database-backed menus. Store menu items as Doctrine entities, manage navigation without code changes, and render dynamic menus in Twig templates. Useful for CMS-style applications with frequently updated navigation.
kevintweber/ktw-database-menu-bundle is a Symfony bundle that extends KnpMenuBundle. It is not installable in a Laravel app and is not a general PHP library. The PM-level value of flagging this is process hygiene: Symfony packages misfiled into Laravel dependency evaluations quietly distort build-vs-buy comparisons and burn engineering spike time. Correct the label before it reaches a roadmap.Consider it only as a reference implementation or design read, and only when all of the following hold:
Look elsewhere — or build — if any of the following is true:
Net: the problem is worth solving; this artifact is not a dependency to adopt. Read it, then build small.
For executives (30 seconds): We evaluated a package intended to let non-developers edit site navigation from a database instead of waiting on a code deploy. The underlying need is legitimate and shows up in content-ops and multi-tenant roadmaps. This specific package is not the answer: it is a Symfony component filed into a Laravel evaluation, it has zero adoption and no maintenance signal, and adopting it would make our team its permanent maintainer. Recommendation: do not adopt; if editable navigation enters the roadmap, budget a small internal build (roughly one to two sprints, including an admin UI) or select a maintained alternative with an active release history.
For engineering: It is a Symfony bundle wrapping KnpMenuBundle to persist menu items via Doctrine. Not installable in our stack. Zero stars, zero dependents, no activity — treat it as a design reference only. If we pursue dynamic menus, the scope is: menus and menu_items tables with parent-child ordering and FK constraints, an Eloquent repository/provider that hydrates the tree in one or two queries, a recursive Blade component with active-state and depth limiting, visibility rules integrated with our existing authorization, and a drag-and-drop admin CRUD. Cache the menu payload and bust on write. That is small, testable, and ours. Also: flag the intake misclassification so Symfony packages stop landing in Laravel evaluations.
For product/design: Dynamic navigation unlocks self-serve content ops — reordering, relabeling, and hiding items per tenant, plan, locale, or role — without engineering tickets. That is the value proposition to argue for on the roadmap. The value does not come from this package; it comes from deciding we want navigation to be content rather than code, then scoping it properly with an owner, an editorial workflow, an audit trail, and a caching plan.
How can I help you explore Laravel packages today?