我们在说到代码规范的时候就必须聊一聊MVC,在这里我加一张图片帮助理解。
代码架构设计:
![](https://img.kancloud.cn/33/4a/334ac19768cb077e6de4cead618661f1_1342x642.png)
1.客户端携带token请求接口。
2.进入异常处理层,查看接口异常。
3.接口权限验证。
4.参数验证(Validate)。
5.Controller产生交互(调取Model层或Service层逻辑处理)。
6.Service层并不处理数据(它是一个服务层,调取第三方服务并返回结果或自定义服务,例如第三方服务微信支付、自定义服务token机制),Controller和Model都可以调取Service,但是Service不可以调取Model或Controller,Service只提供服务。
7.Model层负责请求数据和处理简单数据,复杂数据处理请放入Service。
8.Controller得到返回结果,返回到视图层或发回接口数据。
9.Controller必须返回HTTP状态码、自定义状态码、错误或成功提示信息。
10.整个项目必须使用数据迁移、数据填充、关联模型、整个项目中M层不允许使用DB类(因为我们已经使用了关联模型,如果需要使用事务、存储过程、悲观锁、乐观锁时可使用DB类)。
11.接口的返回字段不允许用过多的无用字段,给前端造成编码困难。
12.后端程序员需编写接口单元测试(phpunit)、压力测试和并发测试(ab)。
13.后端管理系统必须拥有较为完善的权限管理机制(例如RBAC、AUTH),后台权限到按钮,确保系统安全。