## 架构总览

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

## 目录结构

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

~~~ javascript

FastAdmin项目目录

├── addons //插件存放目录

├── application //应用目录

│   ├── admin //后台管理应用模块

│   ├── api //API应用模块

│   ├── common //通用应用模块

│   ├── extra //扩展配置目录

│   ├── index //前台应用模块

│   ├── build.php

│   ├── command.php //命令行配置

│   ├── common.php //通用辅助函数

│   ├── config.php //基础配置

│   ├── database.php //数据库配置

│   ├── route.php //路由配置

│   ├── tags.php //行为配置

├── extend

│   └── fast //FastAdmin扩展辅助类目录

├── public

│   ├── assets

│   │   ├── build//打包JS、CSS的资源目录

│   │   ├── css//CSS样式目录

│   │   ├── fonts//字体目录

│   │   ├── img

│   │   ├── js

│   │   │   ├── backend

│   │   │   └── frontend //后台功能模块JS文件存放目录

│   │   ├── libs//Bower资源包位置

│   │   └── less//Less资源目录

│   └── uploads//上传文件目录

│   ├── index.php //应用入口主文件

│   ├── install.php //FastAdmin安装引导

│   ├── admin.php //后台入口文件,强烈建议修改

│   ├── robots.txt

│   └── router.php

├── runtime //缓存目录

├── thinkphp//ThinkPHP5框架核心目录

├── vendor //Compposer资源包位置

├── .bowerrc//Bower目录配置文件

├── LICENSE

├── README.md

├── bower.json//Bower前端包配置

├── build.php

├── composer.json//Composer包配置

└── think

~~~

## 应用模块

在FastAdmin中默认有四个应用模块:`admin`、`api`、`common`、`index`,你也可以扩展开发自己的应用模块。

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

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

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

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

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

## 功能模块

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

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

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

```

├── application

│   └── admin

│      ├── controller

│      │   └── Test.php //控制器类

│      ├── lang

│      │   ├── zh-cn

│      │   │   └── test.php //功能语言包,按需加载

│      │   └── zh-cn.php//后台语言包,默认加载

│      ├── model

│      │   └── Test.php //模型类

│      ├── validate

│      │   └── Test.php //验证器类

│      └── view

│         └── test

│            ├── index.html //列表视图

│            ├── add.html //添加视图

│            └── edit.html //编辑视图

└── public

└── assets

└── js

└── backend

└── test.js //功能模块JS文件

```

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

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

php后台架构,架构 · FastAdmin - 基于ThinkPHP5的极速后台开发框架文档 · 看云相关推荐

  1. php5 数据库框架,数据库 · FastAdmin - 基于ThinkPHP5的极速后台开发框架文档 · 看云...

    这里提供的是数据库表字段规则在你创建表时使用,当按如下的规则进行字段命名.类型设置和备注时 使用`php think crud -t 表名`生成CRUD时会自动生成对应的HTML元素和组件 ## 根据 ...

  2. php项目架构图,项目架构 · Lanson技术文档 · 看云

    ### 基础项目架构 **项目基于 ThinkPHP 3.2.3 版本做为项目的基础开发框架** 1. 项目采用MVC结构,入口文件在index.php 2. 调用Common 的 BaseContr ...

  3. java计算机毕业设计bs架构实习管理系统源码+mysql数据库+系统+lw文档+部署

    java计算机毕业设计bs架构实习管理系统源码+mysql数据库+系统+lw文档+部署 java计算机毕业设计bs架构实习管理系统源码+mysql数据库+系统+lw文档+部署 本源码技术栈: 项目架构 ...

  4. 基于JAVA物业后台管理系统计算机毕业设计源码+系统+mysql数据库+lw文档+部署

    基于JAVA物业后台管理系统计算机毕业设计源码+系统+mysql数据库+lw文档+部署 基于JAVA物业后台管理系统计算机毕业设计源码+系统+mysql数据库+lw文档+部署 本源码技术栈: 项目架构 ...

  5. 后台管理系统框架搭建 | CRUD实现 | MP代码生成器 | Swagger2在线文档

    day01 微信商城后台管理系统框架搭建 | CRUD实现 | MP代码生成器 | Swagger2在线文档 创建项目 项目名含大写字母会报异常 啥都不选 之后点完成 根项目的pom依赖如下,部分依赖 ...

  6. 基于C++的OpenCV项目实战——文档照片转换成扫描文件

    基于C++的OpenCV项目实战--文档照片转换成扫描文件 一.背景 前段时间都是基于Python的OpecCV进行一些学习和实践,但小的知识点并没有应用到实际的项目中:并且基于Python的版本的移 ...

  7. 博客后台和首页php,基于ThinkPHP5.1+Bootstrap框架开发的博客系统和后台权限管理系统...

    源码介绍 基于ThinkPHP5.1+Bootstrap框架开发的博客系统和后台开发框架,主要是基于最新的inkPHP5.1.9框架作为底层开发核心,前端采用Bootstrap框架实现界面响应式设计, ...

  8. 基于ThinkPHP6的极速后台开发框架

    项目介绍 一款 PHP 语言基于 ThinkPhp6.x + Layui + MySQL等框架精心打造的一款模块化.插件化.高性能的前后端分离架构敏捷开发框架,可用于快速搭建前后端分离后台管理系统,本 ...

  9. 阿里P8架构大神分享纯手写“kafka文档”看完直呼太牛!

    什么是 Kafka Kafka 是由 Linkedin 公司开发的,它是一个分布式的,支持多分区.多副本,基于 Zookeeper 的分布式消息流平台,它同时也是一款开源的基于发布订阅模式的消息引擎系 ...

最新文章

  1. Modelsim仿真流程
  2. 第二次Soring冲刺计划第二天(个人)
  3. Spring的配置文件详解
  4. 阅读Java_如何阅读 Java 开源代码?
  5. python可以实现的功能_Python 实现某个功能每隔一段时间被执行一次的功能方法...
  6. BZOJ1127 POI2008KUP(悬线法)
  7. java cxf webservice 对象 c#客户端_使用CXF开发WebService客户端
  8. 微软软件基地落户广州
  9. jmeter的json提取器提取数据
  10. 嵌入式linux应用开发之常用shell脚本总结
  11. 怎样在WORD里输入国际音标
  12. 如何区分前端bug还是后端bug?
  13. HDU 1863 (图论基础prim算法)
  14. 如何在公众号添加网站链接
  15. 深度学习辅助决策医疗器械软件审评要点(征求意见稿)
  16. 中华英才网全年亏损1.75亿 招聘行业不行了?
  17. 考华为HCIE认证的过程?及前景如何?
  18. 关于C语言——应用函数介绍
  19. 目前最新2018传智播客黑马训练营JAVAEE49期培训项目实战(完整)
  20. 关于div宽度和高度的100%设定的问题

热门文章

  1. 机器学习框架Chainer学习
  2. 可能有用的ios模拟器(试过之后确实可以用的ios模拟器,但是功能缺失问题比较大)
  3. Redis添加历史浏览记录
  4. ubuntu18.04安装驱动495与cuda10.1
  5. 拓嘉启远电商:如何合理安排拼多多上下架时间
  6. 领域驱动设计理论与方法
  7. 【Go语言学习之路 3】Go的第一个程序,Hello World
  8. python闰年表达式_Python中的闰年程序
  9. 地平线 旭日X3 SDB开发板 (一) 环境及案例运行记录
  10. Local System/Network Service/Local Service权限介绍