vienasbaitas / menu
Simple package to generate menu.
Installs: 4 528
Dependents: 0
Suggesters: 0
Security: 0
Stars: 4
Watchers: 0
Forks: 0
Open Issues: 0
Requires
- php: >=7.4
Requires (Dev)
- phpunit/phpunit: ^9.3
This package is auto-updated.
Last update: 2025-03-14 09:27:59 UTC
README
This package allows you to add simple and easy menu management to your project. Supports nested menu items.
Installation
composer require vienasbaitas/menu:^1.0
Usage
In order to use menu you need to create menu instance, after that just push new menu items to it.
$menu = new \VienasBaitas\Menu\Menu(); $menu->option('admin', true); $menu->item('Dashboard')->path('/dashboard')->active()->option('auth', true); $menu->item('Settings')->path('/settings')->order(0); $menu->item('Blog')->path('/blog')->target(\VienasBaitas\Menu\MenuItem::TARGET_BLANK);
After menu has been initialized you can return whole menu object to your view, alternatively you can use built-in array renderer to render your menu as an array.
$renderer = new \VienasBaitas\Menu\Renderers\ArrayRenderer(); $asArray = $renderer->render($menu);
Available methods
VienasBaitas\Menu\Menu
Method | Description |
---|---|
options(array $options): VienasBaitas\Menu\Menu | Set menu instance options. |
option($key, $value): VienasBaitas\Menu\Menu | Set menu instance option. |
item(string $title): VienasBaitas\Menu\MenuItem | Returns existing or creates a new item with given title. |
VienasBaitas\Menu\MenuItem
Method | Description |
---|---|
path(?string $path): VienasBaitas\Menu\MenuItem | Assigns path to menu item. |
active(): VienasBaitas\Menu\MenuItem | Marks menu item as active. |
inactive(): VienasBaitas\Menu\MenuItem | Marks menu item as inactive. |
order(int $order): VienasBaitas\Menu\MenuItem | Sets menu item order. |
target(?string $target): VienasBaitas\Menu\MenuItem | Sets menu item's target, for example _blank . |
options(array $options): VienasBaitas\Menu\MenuItem | Set menu item instance options. |
option($key, $value): VienasBaitas\Menu\MenuItem | Set menu item instance option. |
child(string $title): VienasBaitas\Menu\MenuItem | Returns existing or creates a new child item with given title. |