开发规范

目录和文件

  • 目录使用小写+下划线;
  • 类库、函数文件统一以.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
    {
    }
}
上次更新:
贡献者: windy, windy