# 规范 * * * * * ### 目录和文件命名 * 目录命令使用小写加下划线。 * 类库、函数文件统一以.php为后缀。 * 类的文件名均以命名空间定义,并且命名空间的路径和类库文件所在路径一致。 * 类文件采用驼峰法命名(首字母大写),其它文件采用小写加下划线命名。 * 类名和类文件名保持一致,统一采用驼峰法命名(首字母大写)。 * * * * * ### 函数和类、属性命名 * 类的命名采用驼峰法(首字母大写),例如 User。 * 函数的命名使用小写字母和下划线(小写字母开头)的方式,例如 get_client_ip。 * 方法的命名使用驼峰法(首字母小写),例如 getUserName。 * 属性的命名使用驼峰法(首字母小写),例如 tableName、instance。 * 类名和类文件名保持一致,统一采用驼峰法命名(首字母大写)。 * * * * * ### 常量和配置命名 * 常量以大写字母和下划线命名,例如 APP_PATH。 * 配置参数以小写字母和下划线命名,例如 url_route_on。 * * * * * ### 数据表和字段命名 * 数据表和字段采用小写加下划线方式命名,并注意字段名不要以下划线开头,例如 think_user 表和 user_name字段,不建议使用驼峰和中文作为数据表字段命名。 * * * * * ### 参考建议 * 每个类(不含注释)代码应在200行内,每个方法(不含注释)代码应在20行内,每行末尾不能有空格。 * 控制器层(controller)中,尽量不出现 if else switch 等流程分支语句。 * 业务逻辑尽量封装在逻辑层(logic)中,供控制器调用。 * 数据模型层(model)尽量在逻辑层 logic 中使用,尽量不要再控制器中直接使用model。 * 数据验证尽量写在验证层(validate)中,供逻辑层调用,尽量不要在控制器中进行数据验证。 * 支付|短信 等尽量封装为服务便于后续扩展,图标选择|省市县联动 等尽量封装为插件便于后续复用。 * API接口尽量根据APP界面实现聚合接口,减少APP接口请求。 * 非OneBase函数尽量放在app/function.php文件中,新增非入库配置项尽量放在ext_config.php文件中,extend目录中扩展相关函数放入extend.php文件中。 * 其他文档中遗漏项,尽量参考OneBase编码与命名。