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 Laravel Package

vespakoen/menu

Laravel package for building and rendering database-backed menus. Create multiple menus, nest and order items, attach links, and output navigation in Blade with a simple API. Useful for headers, sidebars, and admin navigation.

View on GitHub
Deep Wiki
Context7

Menu made easy

Frequently asked questions about Menu
What is vespakoen/menu and what is it used for?
vespakoen/menu is a Laravel package for building and rendering database-backed menus. It supports multiple menus, nested and ordered items, attached links, and Blade output for headers, sidebars, and admin navigation. It centers on an ItemList abstraction for hierarchical list traversal.
How do I install vespakoen/menu in a Laravel application?
Install it with Composer and follow standard Laravel package setup: service provider registration, auto-discovery where supported, publishing any config or migrations, and running migrations for the menu tables. Pin to ^3.0 only after checking PHP and Laravel constraints. Then create menus and items and render them in Blade.
Which Laravel and PHP versions does vespakoen/menu support?
The supported version matrix is not stated in the provided overview, so check composer.json and the README before adopting. Release 3.0.4 is a patch within the 3.x line, so API compatibility is likely stable, but validate PHP, Laravel, and transitive dependency constraints. Pin to ^3.0 only after confirming your application's versions are supported.
How do I create multiple menus with vespakoen/menu?
The package is designed for multiple database-backed menus, so you can define separate menus for headers, sidebars, and admin navigation. Create each menu and attach its own ordered, nested items and links. Keep menu keys or slugs stable so Blade templates can request the correct menu.
How do I nest and order menu items in vespakoen/menu?
vespakoen/menu uses an ItemList abstraction for hierarchical collections, so items can be nested and ordered. Model parent-child relationships and sort order in the database, then let the package traverse them for rendering. Validate depth limits and query or render costs for very large or deeply nested menus.
How do I render a menu in Blade with vespakoen/menu?
Rendering is done in Blade through the package's simple API: fetch a menu and output its items as navigation markup. It is intended for headers, sidebars, and admin navigation. Keep render calls small, and test nested output and empty states.
What changed in vespakoen/menu 3.0.4?
The 3.0.4 patch changes failure behavior so accessing an ItemList at a non-existent depth no longer throws. Confirm whether it returns null, an empty list, or another sentinel value, and whether the condition is logged. Treat it as a behavioral change even though it is a patch release.
Why is my menu empty after upgrading vespakoen/menu to 3.0.4?
The patch stops non-existent depth access from throwing, so code that relied on the exception or assumed a non-empty result may now receive an empty or partial list and render nothing. Audit try/catch blocks and exception-driven fallbacks around ItemList access, add assertions for unexpected empty results, and add regression tests for missing depths. Pair the upgrade with logging or monitoring so silent navigation degradation is detectable.
How should I test vespakoen/menu depth behavior and menu rendering?
Add regression tests that access ItemList at non-existent depths and confirm the new non-throwing return value, plus tests for empty lists, nested rendering, and ordering. Run your full suite on upgrade, especially any exception-driven fallbacks around menu access. Pair tests with logging or monitoring so silently empty navigation is detectable.
How does vespakoen/menu compare to alternatives, and is it actively maintained?
Alternatives include spatie/laravel-menu, lavary/laravel-menu, or custom recursive Eloquent models and Blade components. Compare maintenance activity, Laravel version support, and whether you need database-backed menus versus code-defined menus. vespakoen/menu appears small and possibly single-maintainer, so assign an internal owner and track upstream releases if you adopt it.
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.
dbravoan/dbcms-admin-theme-dbcms
dbravoan/dbcms-theme-db-cyber
dbravoan/dbcms-blocks-basic
dbravoan/dbcms-module-content-audit
dbravoan/dbcms-module-ai-assistant
paygate-to/paygate-php
padosoft/askmydocs-connector-base
defstudio/supercharged-carbon
bernskioldmedia/laravel-matomo
bernskioldmedia/laravel-harvest
bernskiold/laravel-data-scrubber
bernskiold/laravel-currency-converter
bernskiold/laravel-campaign-monitor
bernskioldmedia/laravel-autotranslate
siberfx/telegram-bot
roy-sandip/laravel-view-extended
gregsphotography/site-builder-core
roy-sandip/laravel-view
anodyne/blade-fluentui-icons
webx-ui/module-catalog-collections