### **4.1 目录和文件**
* 目录使用小写+下划线;
* 类库、函数文件统一以.php为后缀;
* 类的文件名均以命名空间定义,并且命名空间的路径和类库文件所在路径一致;
* 类文件采用驼峰法命名(首字母大写),其它文件采用小写开头驼峰命名;
* 类名和类文件名保持一致,统一采用驼峰法命名(首字母大写);
### **4.2 函数和类、属性命名**
* 类的命名采用驼峰法(首字母大写);
* 函数的命名使用驼峰法(首字母小写),例如 getUserName;
* 属性的命名使用驼峰法(首字母小写),例如 tableName、instance;
* 以双下划线“__”打头的函数或方法作为魔法方法,例如 __call 和 __autoload;
### **4.3 缩进**
* 代码统一使用4空格缩进,TAB键转换为4空格,IDE可以直接进行设置。
### **4.4 常量和配置**
* 常量以大写字母和下划线命名,例如 APP_PATH和 THINK_PATH;
* 配置参数(config文件,并非类属性)以小写字母和下划线命名,例如 url_route_on 和url_convert;
### **4.5 数据表和字段**
* 数据表和字段采用小写加下划线方式命名,不能以非字母字符开头,不允许使用驼峰和中文作为数据表字段命名。
* 优先采用简短易懂的英文加下划线命名,例如:member_info。拼音慎重
* 如果该字段表示的是时间,则统一使用_time为后缀。例如:create_time、update_time。
* 变量、表名、字段名等命名,使用英文,如果使用简写要在字段备注中说明清楚
* 代码中的sql语句,禁止物理删除,用字段进行标记(如:is_del或者status),或者使用TP的软删除模式。同时数据库也会禁用删除权限。
* 状态字段统一使用名称:status,默认0为不可用,1为正常。
* 建议数据表的命名不使用前缀设计,表前缀其实已经是一种过时的设计了,很多时候跨库的设计比表前缀的设计来的更灵活和实用。
* 除自增长ID外,其余字段、表都应加上说明注释,在注释时,如果该字段表示多个状态应在注释处补全说明。
* 时间与状态字段统一放在表的最后边,时间在状态之前。
- 一、概述
- 二、项目建议
- 三、样例代码
- 3.1 代码风格
- 3.2 普通业务处理流程示意图
- 3.3 事务业务处理流程示意图
- 四、命名规范
- 五、注释标准
- 5.1 方法函数
- 5.2 非config文件
- 5.3 修改代码
- 5.4 数组参数
- 六、MVC建议
- 七、分层描述
- 7.1 控制器 [ Controller ]
- 7.2 验证器 [ Validate ]
- 7.3 服务层 [ Service ]
- 7.4 模型层 [ Model ]
- 八、输出标准
- 8.1 控制器 Response
- 8.2 验证器 Bool
- 8.3 模型 Model | Exception
- 8.4 服务层 Mixed
- 九、其他说明
- 十、模型说明