phpcollective/menumaker

一个优雅的多级菜单系统,适用于Laravel框架。

v1.0.15 2024-03-07 06:35 UTC

README

Latest Version on Packagist Software License Quality Score Total Downloads

Menu Maker 是一种方便快捷的方式来管理Laravel框架的菜单项。您可以使用它为网站的各个部分(如左侧菜单、顶部菜单等)创建多级菜单项。它还将提供菜单的授权。

结构

项目目录结构如下

config/
public/        
resources/        
src/

安装

您可以使用Composer将此包安装到您的Laravel项目中

$ composer require phpcollective/menumaker
Laravel 5.5+

如果您不使用自动发现,请在config/app.php中的providers数组中添加ServiceProvider

PhpCollective\MenuMaker\MenuServiceProvider::class,

安装Menu Maker后,使用menu:install Artisan命令发布其资产。它将发布所有资产和配置,以及运行与菜单制作相关的迁移。

$ php artisan menu:install

User模型中添加MenuMaker特质。

<?php

namespace App;

use PhpCollective\MenuMaker\MenuMaker;
use Illuminate\Notifications\Notifiable;
use Illuminate\Foundation\Auth\User as Authenticatable;

class User extends Authenticatable
{
    use Notifiable, MenuMaker;
    
    ...
}

到此为止,您就可以开始了。请参阅用法了解如何开始使用此包。

用法

访问包

默认情况下,所有路由都以前缀 /menu-maker 开头。

  • 用户: /menu-maker/users
  • 角色: /menu-maker/roles
  • 部分: /menu-maker/sections
  • 菜单: /menu-maker/menus
  • 权限: /menu-maker/permissions

您可以通过编辑config/menu.php中的path来更改此前缀。

'path' => 'menu-maker'

中间件

Menu Maker使用menu作为中间件。

<?php

/*
|--------------------------------------------------------------------------
| Web Routes
|--------------------------------------------------------------------------
|
| Here is where you can register web routes for your application. These
| routes are loaded by the RouteServiceProvider within a group which
| contains the "web" middleware group. Now create something great!
|
*/

Route::get('/', function () {
    return view('welcome');
});

Auth::routes();

Route::middleware('menu')->group(function () {
    // Your routes will goes here
});

致谢

许可证

Laravel Menu Maker是开源软件,受MIT许可证许可。