架构

优质
小牛编辑
130浏览
2023-12-01

架构总览

FastAdmin基于MVC的设计模式,将我们的应用分为三层(模型M、视图V、控制器C)。

目录结构

FastAdmin目录结构遵循ThinkPHP5官方建议的模块设计:

  1. FastAdmin项目目录
  2. ├── addons //插件存放目录
  3. ├── application //应用目录
  4. │ ├── admin //后台管理应用模块
  5. │ ├── api //API应用模块
  6. │ ├── common //通用应用模块
  7. │ ├── extra //扩展配置目录
  8. │ ├── index //前台应用模块
  9. │ ├── build.php
  10. │ ├── command.php //命令行配置
  11. │ ├── common.php //通用辅助函数
  12. │ ├── config.php //基础配置
  13. │ ├── database.php //数据库配置
  14. │ ├── route.php //路由配置
  15. │ ├── tags.php //行为配置
  16. ├── extend
  17. │ └── fast //FastAdmin扩展辅助类目录
  18. ├── public
  19. │ ├── assets
  20. │ │ ├── build //打包JS、CSS的资源目录
  21. │ │ ├── css //CSS样式目录
  22. │ │ ├── fonts //字体目录
  23. │ │ ├── img
  24. │ │ ├── js
  25. │ │ │ ├── backend
  26. │ │ │ └── frontend //后台功能模块JS文件存放目录
  27. │ │ ├── libs //Bower资源包位置
  28. │ │ └── less //Less资源目录
  29. │ └── uploads //上传文件目录
  30. │ ├── index.php //应用入口主文件
  31. │ ├── install.php //FastAdmin安装引导
  32. │ ├── admin.php //后台入口文件,强烈建议修改
  33. │ ├── robots.txt
  34. │ └── router.php
  35. ├── runtime //缓存目录
  36. ├── thinkphp //ThinkPHP5框架核心目录
  37. ├── vendor //Compposer资源包位置
  38. ├── .bowerrc //Bower目录配置文件
  39. ├── LICENSE
  40. ├── README.md
  41. ├── bower.json //Bower前端包配置
  42. ├── build.php
  43. ├── composer.json //Composer包配置
  44. └── think

应用模块

在FastAdmin中默认有四个应用模块:adminapicommonindex,你也可以扩展开发自己的应用模块。

后台模块(admin)是FastAdmin中的核心模块,后台模块又分为系统配置附件管理分类管理插件管理等多个功能模块,更多的功能模块可以在插件管理中自由的安装和卸载。

后台的前端是基于AdminLTEBootstrap进行了大量二次开发,采用RequireJS进行JS模块化管理和加载。

前台模块(index)的结构和后台功能类似,具体请参考后台模块的章节

公共模块(common)是一个特殊的模块,默认是禁止直接访问的,一般用于放置一些公共的类或其它模块的继承基类等。

Api模块(api)通常用于对接APP,用于向APP提供接口,目前FastAdmin暂未提供API相关的插件和文档,你可以直接参考ThinkPHP5官方的文档。

功能模块

功能模块指后台管理中的功能模块,比如我们的系统配置附件管理分类管理

后台开发的每一个功能模块都是基于MVC的设计模式进行开发 。在FastAdmin中,我们提供了一键生成CRUD的功能,这个一键生成CRUD生成的文件也就是我们标准的MVC文件。

以下是一个标准的功能模块所涉及到的文件

  1. ├── application
  2. │ └── admin
  3. │ ├── controller
  4. │ │ └── Test.php //控制器类
  5. │ ├── lang
  6. │ │ ├── zh-cn
  7. │ │ │ └── test.php //功能语言包,按需加载
  8. │ │ └── zh-cn.php //后台语言包,默认加载
  9. │ ├── model
  10. │ │ └── Test.php //模型类
  11. │ ├── validate
  12. │ │ └── Test.php //验证器类
  13. │ └── view
  14. │ └── test
  15. │ ├── index.html //列表视图
  16. │ ├── add.html //添加视图
  17. │ └── edit.html //编辑视图
  18. └── public
  19. └── assets
  20. └── js
  21. └── backend
  22. └── test.js //功能模块JS文件

在FastAdmin中每一个功能模块至少对应一个功能模块JS文件,也就是说每一个控制器都对应一个同名的JS文件,其次每一个控制器的方法对应JS文件中同名的方法。

具体控制器详细介绍可参考控制器章节,JS的部分可以参考前端章节。