# 研发规范
* * * * *
### 目录和文件命名
* 目录命令使用小写加下划线。
* 类库、函数文件统一以.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编码与命名。
- 序言
- 基础
- 安装OneBase
- 研发规范
- 目录结构
- 后台功能介绍
- 首页介绍
- 会员管理
- 系统管理
- 系统设置与配置管理
- 菜单管理
- 系统回收站
- 服务管理
- 插件管理
- 文章管理
- 接口管理
- 优化维护
- SEO管理
- 数据库
- 文件清理
- 行为日志
- 执行记录
- 后台研发
- 目录结构介绍
- 控制器层
- 逻辑层与验证层
- 视图层与模型层
- 接口研发
- 接口文档
- 错误码设计
- 接口Token介绍
- 接口逻辑层
- 接口控制器
- 聚合接口
- 插件与服务研发
- 插件与钩子介绍
- 插件研发及使用
- 服务与驱动介绍
- 服务研发及使用
- 系统架构
- 系统行为
- 控制器架构
- 模型层架构
- 逻辑层架构
- 验证层架构
- 服务架构
- 视图架构
- 数据字典
- 数据库设计
- 数据字典
- 杂项
- 函数库
- 事务控制
- PJAX详解
- 依赖注入
- 附录
- 常量参考
- 配置参考
- 框架升级