### **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出現過兩次同樣的代碼段)。
- 一、概述
- 二、項目建議
- 三、樣例代碼
- 3.1 代碼風格
- 3.2 普通業務處理流程示意圖
- 3.3 事務業務處理流程示意圖
- 四、命名規范
- 五、注釋標準
- 5.1 方法函數
- 5.2 非config文件
- 5.3 修改代碼
- 5.4 數組參數
- 六、MVC建議
- 七、分層描述
- 7.1 控制器 [ Controller ]
- 7.2 驗證器 [ Validate ]
- 7.3 服務層 [ Service ]
- 7.4 模型層 [ Model ]
- 八、輸出標準
- 8.1 控制器 Response
- 8.2 驗證器 Bool
- 8.3 模型 Model | Exception
- 8.4 服務層 Mixed
- 九、其他說明
- 十、模型說明