## 目录结构
### EacooPHP的目录结构如下:
初始的目录结构如下:
~~~
www WEB部署目录(或者子目录)
├─plugins 插件目录
├─apps 应用目录
│ ├─common 公共模块目录
│ ├─functions 扩展助手函数目录
│ ├─module_name 模块目录
│ │ ├─config.php 模块配置文件
│ │ ├─common.php 模块函数文件
│ │ ├─tabs.php 行为扩展
│ │ ├─behavior 行为目录
│ │ ├─controller 控制器目录
│ │ ├─model 模型目录
│ │ ├─logic 逻辑层目录
│ │ ├─service 服务层目录
│ │ ├─validate 验证器目录
│ │ ├─view 视图目录
│ │ ├─widget 小工具目录
│ │ ├─install 模块安装信息目录(模块信息+依赖数据库)
│ │ | ├─info.json 模块信息文件
│ │ └─ ... 更多类库目录
│ │
│ ├─command.php 命令行工具配置文件
│ ├─common.php 公共函数文件
│ ├─config.php 公共配置文件
│ ├─route.php 路由配置文件
│ ├─tags.php 应用行为扩展定义文件
│ └─database.php 数据库配置文件
│
├─public WEB目录(对外访问目录)
│ ├─index.php 入口文件
│ ├─admin.php 后台入口文件
│ ├─robots.txt robots协议文件
│ ├─static 静态资源文件目录
│ │ ├─admin 后台模型资源目录
│ │ ├─module_name 模块资源目录
│ │ | ├─css css样式目录
│ │ | ├─js javascript目录
│ │ | ├─img 图片目录
│ │ | ├─fonts 字体目录
│ │ ├─libs 前端扩展组件
│ │ ├─plugins 插件资源目录
│ ├─themes 主题目录
│ ├─uploads 上传目录
│ └─.htaccess 用于apache的重写
│
├─thinkphp thinkphp框架系统目录
│
├─extend 扩展类库目录
├─runtime 应用的运行时目录(可写,可定制)
├─vendor 第三方类库目录(Composer依赖库)
├─build.php 自动生成定义文件(参考)
├─composer.json composer 定义文件
├─LICENSE.txt 授权说明文件
├─README.md README 文件
├─think 命令行入口文件
~~~
## 说明
**controller**
应用层:接收和处理数据,单一业务,直接调用model的数据操作就能完成,涉及复杂的
**model**
模型层:一个model对应一张表,一般不做逻辑封装处理,只做数据的增删改查。
**logic**
逻辑层:我们将业务逻辑放到这一层作统一的处理,通过事务的方式来管理,涉及多表操作的问题,这样整体就比较清晰;这里说明下,logic会调用model的单一数据操作。处理业务和精简服务层。
**service**
服务层:调用逻辑层(logic)处理业务逻辑并提供给控制器层(controller)。
**api**
接口层:相当于控制器层,为了接口管理。可以按版本分层
**view**
视图层:页面呈现
- 前言
- 基础
- 安装
- 规范
- 数据库设计
- 命名规范
- 建议参考
- 架构
- 架构总览
- 目录结构
- 生命周期
- 入口文件
- 模块设计
- 插件设计
- 主题设计
- API设计
- 容器和依赖注入
- 验证器设计
- 钩子和行为设计
- 介绍
- 后台介绍
- 仪表盘
- 系统设置
- 系统设置
- 网站设置
- 前台导航菜单
- 后台导航菜单
- 配置管理
- 用户管理
- 权限管理
- 角色组
- 节点管理
- 附件管理
- 工具
- 扩展中心
- 模块
- 插件
- 主题
- 前台介绍
- API接口
- 模型层
- 定义
- 逻辑层
- 定义
- 逻辑初始化
- 服务层
- 定义
- 二次开发
- 模块开发
- 介绍
- 1.结构目录
- 2.install安装目录文件
- info.json
- options.php
- menus.php
- unstall.sql
- install.sql
- 3.安装模块
- 模块函数与全局函数
- 其他
- 插件开发
- 介绍
- 定义入口文件
- 1.结构目录
- 2.install安装目录文件
- info.json
- options.php
- menus.php
- install.sql
- unstall.sql
- 3.实现钩子方法
- 4.安装插件
- 开发使用
- 插件控制器Controller
- 插件模型Model
- 插件逻辑层Logic
- 开发总结
- 主题开发
- 介绍
- 结构目录
- install安装目录
- info.json
- 主题变量
- 模块主题化
- 插件主题化
- CSS、JS静态资源引入
- 创建模版文件
- API开发
- 通用组件
- wangeditor编辑器
- 上传
- 实战开发
- 控制器
- 验证器
- 接口
- 创建自定义模版
- 数据库操作
- 通过接口上传文件
- 构建器Builder(重要)
- 表单Form
- 设置页面标题
- 表单项(调用方式)
- 文本框text
- 隐藏域hidden
- 文本区textarea
- 时间选择器datetime
- 图片选择器picture
- 多图片选择器pictures
- 图片上传image
- 文件上传file
- wang编辑器wangeditor
- 百度富文本编辑器ueditor
- 选择项
- 添加标签栏Tab
- 自定义头部工具栏
- 表单提交处理
- 列表List
- 设置页面标题
- 添加标签栏Tab
- 高级查询
- 查询构造器
- 添加列表搜索功能
- 添加批量操作
- 自定义头部工具
- 顶部新增按钮
- 顶部批量启用
- 顶部批量禁用
- 排序Sort
- 表单验证
- 插件-Builder构建器
- 命令行
- 配置
- 扩展专题
- 轻松识别客户端信息User Agent
- 字符串
- 数组
- 钩子、插件、模块相关方法
- 时间
- 请求(request)
- 附件
- 用户信息
- 前台用户
- 后台用户
- 微信(wechat模块)
- 专题
- 插件专题
- 微信支付
- 支付宝(即时到账)
- 微信小程序专题
- 微信模块
- 日志
- 后台行为日志
- 框架日志
- 自定义日志
- 常见问题集
- 附录
- 配置参考
- 常量参考
- 变量参考
- 更新日志
- 升级指导
- 关于
- 进阶
- 分布式数据库
- 分布式缓存
- 负载均衡
- Redis
- 分库分表