模块开发介绍

在开发模块之前,请在模块市场自行安装《开发示例程序》,该示例中涵盖了几乎所有模块开发规范和技巧。

开发示例程序: https://modstart.com/m/Demo模块开发 - 图1 (opens new window)

开发示例程序会不断更新,请随时查看最新的开发示例程序。

前台开发→Web

前台代码 Routes、Controller 都应放在 Web 目录中。

后台开发→Admin

前台代码 Routes、Controller 都应放在 Admin 目录中。

注册后台菜单

Core/ModuleServiceProvider.php 中配置,通过如下方式注册菜单:

  1. <?php
  2. AdminMenu::register(function(){
  3. return [
  4. 'menu' => [
  5. [
  6. 'title' => '一级菜单',
  7. 'icon' => 'tools',
  8. 'sort' => 150,
  9. 'children' => [
  10. [
  11. 'title' => '二级菜单',
  12. 'url' => '\XxxController@index',
  13. ]
  14. ]
  15. ]
  16. ]
  17. ];
  18. });

ModStart系统按照如下相同的规则进行菜单合并:

  • 一级菜单(title+icon+sort)
  • 二级菜单(title)

菜单使用规范

我们强烈建议您按照系统推荐的方式组织菜单避免用户安装多个模块后系统菜单变得混乱。

  • 大的业务功能模块可以插入一级菜单,用于管理模块涉及的业务功能
  • 物料类、工具类的模块使用二级或三级菜单
  • 菜单由上至下应遵循使用频率递减的特性
目录内容排序(sort值)图标(icon)说明
用户管理100users用户管理模块
|— 用户管理
|— …
物料管理200description系统基础物料管理
|— 导航配置
|— 文章管理
|— 友情链接
|— …
功能设置300tools模块业务功能相关的设置
|— 用户设置
|— …
系统设置400cog技术功能相关设置
|— 基础配置
|— 短信设置
|— 支付设置
|— …
后台权限500user-o管理员、角色、管理日志
|— 管理角色
|— 管理账号
|— 管理日志
运维工具600magic-wand系统运维阶段功能模块
|— …
系统管理700code-alt系统功能管理(通常用于开发阶段)
|— 模块管理

API开发→API

前台代码 Routes、Controller 都应放在 Api 目录中。

开放接口开发→OpenApi

前台代码 Routes、Controller 都应放在 OpenApi 目录中。

开发技巧

Api接口代码的复用

为了最大限度的敏捷开发,可以在 WebOpenApiAdmin 中最大程度的复用Api代码。