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安装;