🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
### **9.1 数据事务** 同时对两个以上的表同时进行操作的时候请使用数据库事务处理,不允许直接使用IF处理。 ### **9.2 数据验证** 对于客户端传入的参数需先在Validate层进行合法性的检查再交由其他类去处理,请勿直接在控制器处理全部验证。 ### **9.3 数组的书写** 在编写时数组统一使用 [ ] 表示,请勿使用array()。 ### **9.4 数据的输出** 统一使用return返回数据,而不是echo输出,如非必要,请不要执行exit于die中断。 ### **9.6 获取数据** 获取数据请使用think\Request类处理,请勿直接使用$_SESSION、$_GET、$_POST...等这种方法。 ### **9.7 关于第三方集成框架** 当项目使用了某些集成了TP的第三方框架(如fastadmin等)时,如果第三方的规范文档与本文档某些内容发生冲突,原则上以本文档为准,可根据实际情况进行调整;本文档未提及的规范以第三方文档为准。 ### **9.8 实际操作中我应该如何写业务** 在了解业务模型的情况下可以轻松的设计Model的函数与对象,但是在不确定的情况下,“拆”就成了一个大问题。 把类似getOne(1)这种原继承Model就带的方法加上一个where条件后就封装进对象的函数,对复用性来说是没有什么意义的。 在不确定的能“拆”出去什么函数才能保证复用性的情况下,我建议这样做: 1. 创建基础的控制器与验证器。 2. 创建服务层,先把【所有的业务流程】代码写在Service。 3. 完成业务后把Service里可复用的方法封装进对应Model内(在Service出现过两次同样的代码段)。