模块开发介绍
在开发模块之前,请在模块市场自行安装《开发示例程序》,该示例中涵盖了几乎所有模块开发规范和技巧。
开发示例程序: https://modstart.com/m/Demo (opens new window)
开发示例程序会不断更新,请随时查看最新的开发示例程序。
前台开发→Web
前台代码 Routes、Controller 都应放在 Web
目录中。
后台开发→Admin
前台代码 Routes、Controller 都应放在 Admin
目录中。
注册后台菜单
在 Core/ModuleServiceProvider.php
中配置,通过如下方式注册菜单:
<?php
AdminMenu::register(function(){
return [
'menu' => [
[
'title' => '一级菜单',
'icon' => 'tools',
'sort' => 150,
'children' => [
[
'title' => '二级菜单',
'url' => '\XxxController@index',
]
]
]
]
];
});
ModStart系统按照如下相同的规则进行菜单合并:
- 一级菜单(title+icon+sort)
- 二级菜单(title)
菜单使用规范
我们强烈建议您按照系统推荐的方式组织菜单避免用户安装多个模块后系统菜单变得混乱。
- 大的业务功能模块可以插入一级菜单,用于管理模块涉及的业务功能
- 物料类、工具类的模块使用二级或三级菜单
- 菜单由上至下应遵循使用频率递减的特性
目录内容 | 排序(sort值) | 图标(icon) | 说明 |
---|---|---|---|
用户管理 | 100 | users | 用户管理模块 |
|— 用户管理 | |||
|— … | |||
物料管理 | 200 | description | 系统基础物料管理 |
|— 导航配置 | |||
|— 文章管理 | |||
|— 友情链接 | |||
|— … | |||
功能设置 | 300 | tools | 模块业务功能相关的设置 |
|— 用户设置 | |||
|— … | |||
系统设置 | 400 | cog | 技术功能相关设置 |
|— 基础配置 | |||
|— 短信设置 | |||
|— 支付设置 | |||
|— … | |||
后台权限 | 500 | user-o | 管理员、角色、管理日志 |
|— 管理角色 | |||
|— 管理账号 | |||
|— 管理日志 | |||
运维工具 | 600 | magic-wand | 系统运维阶段功能模块 |
|— … | |||
系统管理 | 700 | code-alt | 系统功能管理(通常用于开发阶段) |
|— 模块管理 | |||
API开发→API
前台代码 Routes、Controller 都应放在 Api
目录中。
开放接口开发→OpenApi
前台代码 Routes、Controller 都应放在 OpenApi
目录中。
开发技巧
Api接口代码的复用
为了最大限度的敏捷开发,可以在 Web
、OpenApi
、Admin
中最大程度的复用Api代码。