🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
我们在说到代码规范的时候就必须聊一聊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),后台权限到按钮,确保系统安全。