🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
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验证](https://www.kancloud.cn/manual/thinkphp5/129319) 5.【推荐】控制器尽量制作业务逻辑处理,数据处理全部放在模型中,例如数据库增删改,尽量不要在控制器中进行,而是调用模型来处理; 6.【推荐】安装扩展或者依赖请尽量使用composer安装;