🔥码云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(); 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安装;