开发文档案例
能愿动词
为了避免歧义,文档大量使用了「能愿动词」,对应的解释如下:
必须(Must) - 只能这样子做,请无条件遵循,没有别的选项; 绝不(Must Not)- 严令禁止,在任何情况下都不能这样做; 应该(Should) - 强烈建议这样做,但是不强求; 不应该(Should Not) - 强烈建议不这样做,但是不强求; 可以(May) - 选择性高一点,在这个文档内,此词语使用较少;
开发流程规范:
-
应该使用自定义表单验证类,避免方法体过多类似功能代码段. -
编写方法时
应该声明返回类型`public function create(Create $request): JsonResponse {` -
每个方法
必须写上规范注释. -
用户信息访问
应该使用Auth门面, Auth已经过框架自动载入,具体使用方法参照现有代码. -
应该使用一个return进行数据返回. -
固定值访问
应该使用config()访问语义化词汇获得 如config('common_config.premium.min'). -
编写业务代码时遵循依赖框架原则,框架可以提供便利的尽量使用框架提供的功能.
-
controller层仅作为基础判断使用,繁杂业务逻辑应该在Service层进行处理. -
对存入数据的操作
应该使用模型处理. -
对一对多,多对多,多对一等模型数据访问时,
尽量使用框架自带的模型关联功能 -
关键性操作流程
应该注入 事件 方便业务功能. -
数据库表增删改
必须使用数据库迁移 -
创建表后
应该编写相应的数据工厂文件. -
开发时
应该先编写对应的单元测试. -
应该对表单数据进行类型校验,可以在表单验证中加上.
其他规范应该参照: Laravel 项目开发规范
接口
-
请求 接口
必须统一使用api路由,POST请求统一放置在POST请求路由组;POST请求路由必须使用 post 路由前缀, 中间件应该使用与之相对的中间件- 表单校验:接口路由指向的方法中请求信息参数
必须使用自定表单验证类依赖注入校验表单填写是否正确, 自定义表单验证类中 应在类体中 使用use UnifiedFormat;处理表单验证类自动处理的返回内容适用到项目.
-
Api的路由
必须使用name方法标注, 标注中以.分隔, 标注代表着此接口的权限管理项的标注, 用于后期添加权限; 注意标注的末尾动作如下表格, 其他行为应该使用功能翻译英文标记Api.
前缀.功能(英文并可以多个 . 分隔).操作词动词 描述 是否幂等 show 获取资源,单个 是 index 获取资源,多个 是 create 创建资源 否 PATCH 更新资源,客户端提供部分的资源数据 否 DELETE 删除资源 是 -
应该使用api 资源返回数据资源. -
响应 响应使用Res门面
use Res;可使用具体方法在app/Http/Controllers/Auth/Api/ResponseMsg.php具体使用规则参考部分接口控制器代码
注意事项
- 使用复杂多表查询时注意
软删除和一些模型无感知提供的功能的处理. - 编写代码之前
应该读懂 框架核心架构
api系统剥离
只需要修改auth config/auth.php defaults=>guard 三维数组中 web 变为 otcapi, apiverify中间件中handle方法 注释内容开启, 未注释内容注释
部分信息可能已经过时