开发规范
目录和文件
- 目录使用小写+下划线;
- 类库、函数文件统一以.php为后缀;
- 类的文件名均以命名空间定义,并且命名空间的路径和类库文件所在路径一致;
- 类(包含接口和Trait)文件采用驼峰法命名(首字母大写),其它文件采用小写+下划线命名;
- 类名(包括接口和Trait)和文件名保持一致,统一采用驼峰法命名(首字母大写);
函数和属性
- 类的命名采用驼峰法(首字母大写),例如 User、UserType;
- 函数的命名使用小写字母和下划线(小写字母开头)的方式,例如 get_client_ip;
- 方法的命名使用驼峰法(首字母小写),例如 getUserName;
- 属性的命名使用驼峰法(首字母小写),例如 tableName、instance;
- 特例:以双下划线__打头的函数或方法作为魔术方法,例如 __call 和 __autoload;
常量和配置
- 常量以大写字母和下划线命名,例如 APP_PATH;
- 配置参数以小写字母和下划线命名,例如 url_route_on 和url_convert;
- 环境变量定义使用大写字母和下划线命名,例如APP_DEBUG;
其它的规范
- 控制器都创建在controller目录下
- 控制器首字母大写,结尾加上Controller,示例: AdminController
- 控制器只负责简单的数据响应 和 参数校验,不做具体的逻辑处理,逻辑应交给service层
- 每个方法 每个参数 建议都标注类型, 有返回值的填写返回类型, 没有的标记 void
- 每个 (方法 和 类) 上建议加上注释
- 注释顺序要求: 功能描述 -> 空行 -> 参数 -> 返回 -> 异常 -> 作者
注释的问题
- @param 表示参数的意思
- @throws 表示异常的意思
- @method 表示支持的请求方式,目前支持[GET|POST]两种
- @author 表示作者的意思
【建议根据以上的顺序进行注解】
如下是注释的规范:
/**
* 管理员管理
*/
class AdminController extends Backend
{
/**
* 管理员删除
*
* @param int $id
* @throws DataNotFoundException
* @method [POST]
* @author zero
*/
public function del(int $id): void
{
}
}