使用

创建模块

这个命令会创建 owl-admin 所需的文件和目录, 以及相关的数据库及基础数据 建议首字母大写, 使用大驼峰格式

php artisan admin-module:init <module-name>
# eg: php artisan admin-module:init Master
# 支持多个模块同时创建
# eg: php artisan admin-module:init Master Store

更改配置文件

// file: config/admin.php

// 配置 modules
// 建议首字母大写, 大驼峰格式
// ...
'modules' => [
    'Master' => true // 在这里配置模块名, 以及启用状态
]

配置composer.json

配置模块目录(admin-modules)自动加载

"autoload": {
    "psr-4": {
        "App\\": "app/",
        "AdminModules\\": "admin-modules/"
    }
}

重新生成自动加载文件

composer dump-autoload

现在, 你可以通过 /master 来访问你的新模块了~

目录结构

创建模块后, 会在你的应用根目录生成以下目录结构:

admin-modules # 模块根目录 └── Master ├── Controllers # 控制器目录 │ ├── AuthController.php │ ├── HomeController.php │ ├── MasterController.php │ └── SettingController.php ├── Models # 模型目录 │ ├── AdminCodeGenerator.php │ ├── AdminMenu.php │ ├── AdminPermission.php │ ├── AdminRole.php │ └── AdminUser.php ├── Services # Service 目录 ├── bootstrap.php # 框架会自动加载这个文件, 可以在里面动态添加菜单或导航栏按钮 ├── config.php # 模块的配置文件 ├── MasterServiceProvider.php # 模块的服务提供者, 可以在里面处理一些其他的高级操作 └── routes.php # 模块的路由文件

数据库

  • 初始化模块后, 会自动创建模块所需的数据库及基础数据
  • 新建的数据表都会以 模块名_ 为前缀

注意事项

  • 代码生成器 / 扩展 这两个功能在所有模块中共通
  • 所有模块与主应用都同用一套前端资源, 模块之间依靠 接口前缀 区分

移除模块

  • 手动删除模块目录 Modules/你的模块名
  • 手动删除模块的数据库表, 它们都以 模块名_ 为前缀