1.【強制】超過2條數據庫增刪改操作的,必須使用事務,catch 異常后,一定要注意手動回滾事務,避免臟數據
~~~
// 啟動事務
Db::startTrans();
try {
$info_result = Db::table('think_user_info')->where('uid',1)->update(['nickname'=>'姓名']);
$delete_result = Db::table('think_user')->where('id',1)->update(['name'=>'姓名']);
if (!$find_result || !$delete_result){
throw new \think\Exception('語句執行錯誤', 100006);
}
// 提交事務
Db::commit();
} catch (\Exception $e) {
// 回滾事務
Db::rollback();
$msg = $e->getMessage();
$this->error($msg);
}
$this->success('執行成功!');
~~~
2.【強制】Thinkphp使用查詢語句時必須使用field指定要查詢的字段,不要怕麻煩
3.【強制】接口輸出數據禁止空值或者null,請判斷數據是否為空,如果為空值,請返回一個空數組
正例
```
{"code":1,"msg":"請求成功","data":[]}
```
反例
```
{"code":1,"msg":"請求成功","data":null}
{"code":1,"msg":"請求成功","data":""}
```
4.【強制】Thinkphp增加或修改數據時,請使用自帶的驗證器驗證一下數據的準確性,禁止不做任何驗證就保存數據,具體請參考 [Thinkphp驗證](http://www.hmoore.net/manual/thinkphp5/129319)
5.【推薦】控制器盡量制作業務邏輯處理,數據處理全部放在模型中,例如數據庫增刪改,盡量不要在控制器中進行,而是調用模型來處理;
6.【推薦】安裝擴展或者依賴請盡量使用composer安裝;