/laravel-modules

laravel模型架构

Primary LanguagePHP

说明

  • 这个是我在向老师那里拿的文件,他的好久都没看到更新了,所以自己更新了一下。

更新说明

  • 减少权限请求数据库
  • 增加了缓存配置,减少数据库访问。
  • 更新权限认证缓存
  • 由于版本更新问题,composer.json 移除了laravel-modules 和 laravel-permission,请自行安装
  • 优化了导航和侧边栏

更新介绍

Laravel laravel-modules
5.8 ^1.0.9
6.0 ^2.0.3

组件介绍

通过使用模块来管理大型Laravel项目,模块就像一个laravel包非常方便的进行添加或移除。 laravel-modules 和 laravel-permission 组件的功能都可以正常使用

安装组件

composer require sunjim/laravel-module
php artisan vendor:publish --provider="Spatie\Permission\PermissionServiceProvider" --tag="config"

配置 composer.json 设置自动加载目录

{
  "autoload": {
    "psr-4": {
      "App\\": "app/",
      "Modules\\": "Modules/"
    }
  }
}

创建模块

下面的命令是安装 Admin 模块

php artisan hd:module Admin

创建模块会同时执行以下操作:

  • 生成 menus.php 配置文件
  • 生成 permission.php 权限文件

模块配置

新建模块时系统会自动创建配置,一般情况下不需要执行以下命令生成配置文件(除组件添加新配置功能外)

php artisan hd:config Admin
  • $data——配置数据
  • $name——配置文件

后台菜单

系统会根据模块配置文件 menus.php 生成后台菜单项

当 menus.php 文件不存在时,执行 php artisan hd:config Admin 系统会为模块 Admin 创建菜单。

获取菜单

获取系统可使用的所有菜单,以集合形式返回数据。可用于后台显示菜单列表。

\HDModule::getMenus()

权限管理

首先需要安装 laravel-permission 组件,安装方式在上面已经介绍。

创建权限配置

系统根据 Admin 模块配置文件 permission.php 重新生成权限,执行以下命令会创建权限配置文件。

php artisan hd:permission Admin

不指定模块时生成所有模块的权限表

php artisan hd:permission

页面导航在配置文件中

'allow_navigate' =>['后台管理'=>'admin'],

License

The Laravel framework is open-sourced software licensed under the MIT license.