## 1.目录规范
* Addons 插件目录(每个子目录代表一个插件)
* Application 应用模块目录
* * Admin 后台模块
* * Common 公共模块,不能通过URL访问
* * Home 前台模块
* * User 用户中心客户端,不能通过URL访问
* Public 公共资源目录
* Uploads 公共上传根目录
## 2.编码规范
功能没有完成的时候一定要写 (TODO:)
方法和函数有注释,注释内容包括功用,参数,返回值,作者,必要是还有示例
逻辑复杂的代码,关键部分应有注释
### 2.1 PHP编码规范
类文件命名 - 同ThinkPHP命名规范
公共控制器的名称应该和模块名称相同
默认控制器层 Controller
方法命名规范 - 驼峰命名,不能出现下划线
类属性规范 - 类属性和类方法一致,统一使用驼峰
函数命名 - 小写字母加下划线
变量命名规范 - 产品中不涉及到全局变量,局部变量不做强制要求,建议使用下划线
后台控制器里给列表赋值的变量都用list, 单一数据读取、保存都用data,其他临时变量 最好不要使用这两个,以免造成冲突
### 2.2 前端编码规范
#### 2.2.1 模板文件相关常量
__PUBLIC__ 公共资源文件目录
__STATIC__ 公共静态文件目录
__ADDONS__ 当前模块插件在STATIC/插件名同名资源目录
__IMG__ 当前模块图片目录
__CSS__ 当前模块CSS目录
__JS__ 当前模块JS目录
#### 2.2.2 模板文件规范
所有的模板文件都继承 Public/base文件,base模板提供了以下可重载的块
style 用于添加页面样式文件
script 用于添加页面JS文件和JS代码
sidebar 左边导航区域
body 页面内容,后台页面的内容全部放到body块中
## 3 数据库规范
所有的字段必须添加注释
字段名小写,多关键字使用下划线分割(关键字尽量全称)
所有字段不允许 NULL值
字段长度定义(TODO: 具体常用的长度定义)
数据表引擎 MyISAM
所有的表应该都有status 字段来标注数据状态,业务状态请使用其他字段;status字段类型 为带符号的 tinyint
-1 已删除
0 被禁用
1 正常
2 未审核
如果还需要其他的数据状态 请先判断该状态的数据是有用的数据还是无意义的数据
有用的数据状态 > 2
无意义的数据状态 < -1
所有的删除(除开清空回收站操作) 请 标记status 为 -1
## 4 文档规范
功能模块文档
文件注释
方法注释
函数注释
代码块注释
注释必须有 @author 项,方便在遇到问题时候找到作者调整。
- 准备
- 概览
- 获取
- 安装
- 后台管理
- 首页
- 内容
- 系统
- 网站设置
- 配置管理
- 菜单管理
- 分类管理
- 模型管理
- 导航管理
- 数据备份
- 扩展
- 用户
- 用户信息
- 用户行为
- 行为日志
- 权限管理
- 应用
- 架构设置
- 应用架构及目录结构
- 独立模型
- 插件设计
- 用户行为设计
- 权限设计
- 文档模型设计
- 分类设计
- 二次开发
- 命名规范与编码规范
- 数据字典
- 公共函数和库函数使用规范
- 模板开发指南
- 权限管理指南
- 插件开发指南
- 什么是插件?
- 什么是钩子?
- 插件的开发流程
- 插件后台的开发
- 插件开发注意事项
- 模型扩展开发指南
- 独立模型扩展
- 文档模型扩展
- 附录
- 配置参考
- 函数库参考
- Common函数库
- admin函数库
- Home函数库
- 类库参考