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

Laravel Dynamic Menu Laravel Package

rapidwebltd/laravel-dynamic-menu

Laravel Dynamic Menu lets you build database-driven navigation menus in Laravel without hardcoding links. Define nested menu items, order them, render them in Blade, and automatically highlight the active page for cleaner, more maintainable navigation.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Build vs. buy for navigation/menu management: This package covers the "menus, menu items, nesting, ordering" slice of an admin surface that is almost never a differentiator. It lets you skip building a tree-ordering model, polymorphic item targets (linking a menu item to a page, post, category, or arbitrary model), and the associated migrations — freeing sprint capacity for customer-facing work.
  • Roadmap sequencing for a CMS/admin area: Because item targets are polymorphic and headings are first-class rows, you can ship a basic navigation editor early (flat list + headings) and layer on deep nesting, reordering, and contextual link types later without a schema rewrite. Useful when scoping an MVP admin milestone.
  • Feature commitment for editorial UX: The deterministic sibling ordering with explicit decimal positions means reordering can be implemented as "set one item's position" rather than "rewrite all siblings." This is the difference between a viable drag-and-drop navigation editor and a batch-update workaround — it de-risks promising drag-and-drop reordering to stakeholders.
  • Platform/lifecycle decisions: Declared support for Laravel 5.5 through 13 with PHP 7.0 retained tells you this package is intended for long-lived or version-fragmented estates. That directly informs a decision about whether to standardize navigation handling across multiple applications or product lines with divergent framework versions.
  • Deployment and operations hygiene: Corrected rollbacks that drop the actual prefixed tables reduce the risk of failed or partial teardowns in staging/CI and in ephemeral preview environments. Mild but real impact on environment provisioning reliability and on the safety of "roll back and re-migrate" recovery paths.
  • Upgrade/support-cost modelling: A package that maintains a very wide compatibility matrix (five-plus Laravel majors, PHP 7.0 upward) is a low-friction dependency candidate but carries a question mark over how quickly it will adopt modern idioms. Factor that into any long-horizon dependency budget.

When to Consider This Package

Adopt when:

  • You need structured navigation managed by non-developers — menu containers, nested items, headings/labels, and links to internal content — and you do not want to own that model.
  • You have a mixed or legacy Laravel estate and need one navigation dependency to serve applications on different framework versions, including older PHP runtimes.
  • You want polymorphic menu targets out of the box, so a menu item can point at more than one model type without bespoke join tables.
  • You need incremental, single-row reordering (decimal positions) rather than full-list rewrites — a common requirement once editors start reordering frequently.
  • Your tables use a configurable prefix and you care that migrations and rollbacks behave correctly in that configuration.

Look elsewhere when:

  • You need multilingual menu labels, per-locale trees, permission-gated visibility, or scheduling/publishing windows — these are not evidenced here and are typically where menu packages diverge sharply.
  • You require a modern, actively evolving dependency with prompt adoption of current PHP/Laravel baselines. Retaining PHP 7.0 (end-of-life since 2019) is a compatibility win but a signal about forward investment; verify the release cadence and security posture before committing.
  • Your navigation is static or developer-authored (config files, hardcoded templates). A database-backed menu system adds migration, caching, and admin-UI overhead for no benefit.
  • You need headless/API-first menu delivery with caching and cache invalidation guarantees. Nothing in this release speaks to caching strategy; plan to validate performance on large trees before committing to a high-traffic storefront.
  • Menu authoring is a core product surface for you (e.g., a page builder or site-builder product). In that case the ordering, targeting, and tree semantics are product differentiators and you should own them.
  • The package's test coverage is limited to SQLite. The release notes cite SQLite tests only — confirm behavior on your production database (MySQL/PostgreSQL) before relying on ordering and polymorphic behavior, especially for the fresh-install persistence path just fixed.

How to Pitch It (Stakeholders)

To executives: This is a small, focused dependency that handles navigation menus — the hierarchical lists of links and section headings that editors manage in an admin panel. Buying it instead of building it avoids roughly the kind of work that is invisible to customers but consumes engineering time: the data model for nested items, linking menu entries to different kinds of content, and drag-and-drop ordering. The v1.1.0 release fixes a fresh-install data-persistence bug for section headings, makes sibling ordering deterministic so reordering is a single-record operation, and corrects migration rollbacks — all reliability fixes rather than scope changes. It supports a very broad range of Laravel and PHP versions, which lowers adoption friction across our applications. The one flag for the business is that it deliberately retains support for PHP 7.0, a runtime that is no longer security-supported; that is a plus only if we still operate such systems, and a caution about the package's modernization pace if we do not. Cost of adoption is low and reversible; the risk is concentrated in verifying database behavior beyond the SQLite test matrix.

To engineering: Thin, single-purpose dependency for DB-backed navigation with polymorphic item targets and first-class heading rows. v1.1.0 is a maintenance release: (1) fixes persistence of headings without a polymorphic target on fresh installs — check this against any seeder or install script that creates heading-only menus; (2) introduces deterministic sibling display ordering while still honoring explicitly set decimal positions, so reorder operations can update one row instead of renumbering siblings — confirm the collision/duplicate-position semantics before building a drag-and-drop UI on it; (3) corrects both migration rollbacks to drop the actually prefixed tables, so rollback-and-remigrate is now safe in prefixed environments; (4) widens the supported matrix to Laravel 5.5–13 while holding PHP 7.0, with added passing tests for the PHP 7.0/Laravel 5.5 and PHP 8.5/Laravel 13 combinations on SQLite. No breaking changes are indicated. Required due diligence before merge: run the migration up/down cycle and an ordering/reordering exercise against our actual database engine, review the polymorphic target resolution for N+1 queries when rendering a full tree, and decide on a caching layer for menu reads on any high-traffic surface. Note the compatibility floor as a constraint in our dependency policy review rather than an endorsement.

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.
skyraptor/chatter
edlugz/sasapay
abbasudo/artisan-route
mirvan/ippanel
ignibyte/aic-framework
glavweb/data-schema-bundle
glavweb/datagrid-bundle
tacticmedia/scim-server
uni-method/frame
neika-ai/sdk
adachsoft/php-code-style
pharaonic/laravel-notification-dependencies
beautinow/translug
dev-brainiac/bot-cloaked
octoberrain/html
octoberrain/extension
octoberrain/exception
octoberrain/contracts
adachsoft/api-version-bundle
cgv/localized-resource