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();
return $this->error($msg);
}
~~~
2.【**強制**】Thinkphp使用查詢語句時必須使用field指定要查詢的字段,不要怕麻煩
3.【**強制**】Sql查詢語句時小于一半字段查詢語句必須指定查詢的字段,大于一半的可以使用*
4.【**強制**】接口輸出數據禁止空值或者null,請判斷數據是否為空,如果為空值,請返回一個空數組
正例
~~~
{"code":1,"msg":"請求成功","data":[]}
~~~
反例
~~~
{"code":1,"msg":"請求成功","data":null}
{"code":1,"msg":"請求成功","data":""}
~~~
5.【強制】增加或修改數據時,請使用自帶的驗證器驗證一下數據的準確性,禁止不做任何驗證就保存數據。
6.【推薦】控制器盡量制作業務邏輯處理,數據處理全部放在模型中,例如數據庫增刪改,盡量不要在控制器中進行,而是調用模型來處理;
7.【推薦】安裝擴展或者依賴請盡量使用composer安裝;