系统架构

ModStart 基于原生 Laravel 开发,独创了方便易扩展的模块开发架构,通过配置式的开发过程,可以快速实现系统搭建。

系统代码结构

系统代码结构参照 Laravel 的目录结构,对于部分不同的重要目录构成,以下做简单介绍。

  1. ROOT
  2. ├── app 应用目录
  3. ├── Admin 后台管理源码目录
  4. ├── Api API程序源码目录
  5. └── Web 前台程序源码目录
  6. ├── module 模块源码,模块源码都会放在该目录下,每个模块一个文件夹
  7. ├── Xxx 其他模块
  8. └── Vendor 模块基础代码
  9. ├── public 模块源码,模块源码都会放在该目录下,每个模块一个文件夹
  10. ├── vendor 其他模块
  11. └── Xxx 模块静态资源文件
  12. ├── vendor
  13. └── modstart
  14. └── modstart ModStart核心架构目录
  15. └── resources 资源目录
  16. └── views 视图目录
  17. └── default 默认模板视图目录

其中模块相关目录结构可以参考 模块目录结构

应用和模块区别

模块

模块包含在 module/ 目录中,每个模块拥有单独的目录,并且包含独立的 Admin、Web、Api、OpenApi 等功能。

对于可复用的模块,我们推荐创建独立的模块进行最大程度而复用,同时还可以发布到模块市场。

模块市场安装的模块也会出现在 module/ 目录中。

应用

应用包含在 app/ 目录中,包含独立的 Admin、Web、Api、OpenApi 等功能。

对于系统个性化的功能,一般不推荐放在模块目录中,可以放在应用目录中,用于开发系统个性化的需求开发。

系统加载流程

ModStart的启动通过 ModStart\ModStartServiceProvider 类来管理,具体的加载过程参考相关实现逻辑。

路由加载流程

Web前台

系统会按照如下的顺序加载路由文件。

  • module/Xxx/Web/routes.php:所有模块中的Web前台路由
  • app/Web/routes.php:系统应用Web前台路由

Admin后台

系统会按照如下的顺序加载路由文件。

  • module/Xxx/Admin/routes.php:所有模块中的Admin后台路由
  • app/Admin/routes.php:系统应用Admin后台路由

Api接口

系统会按照如下的顺序加载路由文件。

  • module/Xxx/Api/routes.php:所有模块中的Api接口路由
  • app/Api/routes.php:系统应用Api接口路由

OpenApi开放接口

系统会按照如下的顺序加载路由文件。

  • module/Xxx/OpenApi/routes.php:所有模块中的OpenApi开放接口路由
  • app/OpenApi/routes.php:系统应用OpenApi开放接口路由

名词解释

名词含义备注
Web前台管理用户处理用户前台相关功能
Admin后台管理用于处理后台管理相关功能
ApiApi接口用于处理用户端前台界面、手机端、小程序等请求
OpenApiOpenApi开放接口用户处理系统对外提供的标准接口,通常同时AppId和AppSecret授权