## 目录规范
~~~
Addons 插件目录(每个子目录代表一个插件)
Application 应用模块目录
|Admin 后台模块
|Common 公共模块,不能通过URL访问
|Home 前台模块
|User 用户中心客户端,不能通过URL访问
Public 公共资源目录
|js 公共js资源文件目录
|css 公共css资源文件目录
|images 公共images资源文件目录
|static 公共静态插件
Uploads 公共上传根目录
~~~
## 开发规范
FOHEART用户中心完全按OneThink开发规范进行
开发前请详细阅读:
http://www.kancloud.cn/manual/thinkphp/1687
## FOHEART用户中心特别开发规范
- 规范:遵循PSR-2、PSR-4规范;
- 严谨:异常严谨的错误检测和安全机制,详细的日志信息,为你的开发保驾护航;
- 灵活:减少核心依赖,扩展更灵活、方便,支持命令行指令扩展;
- 类文件命名 - 同ThinkPHP命名规范
- 方法命名规范 - 驼峰命名,不能出现下划线
- 类属性规范 - 类属性和类方法一致,统一使用驼峰
- 函数命名 - 小写字母加下划线
- 变量命名规范 - 产品中不涉及到全局变量,局部变量不做强制要求,建议使用下划线
- 推荐 - 后台控制器里给列表赋值的变量都用list, 单一数据读取、保存都用data,其他临时变量 最好不要使用这两个,以免造成冲突
- 数据库规范
- 所有的字段必须添加注释
- 字段名小写,多关键字使用下划线分割(关键字尽量全称)
- 所有字段不允许 null值
- 字段长度定义(如下列出一般情况,特殊情况特殊处理)
- 数据表引擎 MyISAM
- 所有的表应该都有status 字段来标注数据状态,业务状态请使用其他字段;status字段类型 为带符号的 tinyint【 -1 已删除/ 0 被禁用/1 正常/2 未审核】
- 注释必须有 @author 项,方便在遇到问题时候找到作者调整。
- 安全规范
- 关键数据只能从数据库获取数据,不能通过前台传递,前台只能传递对应查询条件。
- 权限判断 - 进行任何业务操作前,必须使用checkAuth()方法进行权限检测。
- 安全过滤 - 使用I()函数接收前台传值,I()中第三个参数要填写正确的过滤方法
- 命名规范额外注意事项严格遵守Onethink的命名规范: http://document.onethink.cn/manual_1_0.html#onethink_3_1
- 禁止采用简单缩写的形式命名函数,如sd,si,sp等等。