php mvc 模式的开发注意事项
2024-08-28 08:29:15
1.控制器中:
如果不涉及到数据库的就在控制器中。
empty($res['code']) ? $this->error($res['msg']) : $this->success($res['msg']);
抛出异常写法:
try{
$res = $Scoreflow->doaddscore($post);
if(empty($res['code'])){
throw new \Exception($res['msg']);
}
$this->success($res['msg']);
}catch(\Exception $e){
$this->error($e->getMessage());
}
2.模型中:
所有关于数据库的操作都在模型里面做。
return['code' => 0|1,'msg' => '返回信息'];//回复格式统一,会比较好处理
模型中的回滚(需要用 self:: ,否则不起作用)
self::startTrans();
try{
//符合条件修改状态
$exchangerecord_status = Exchangerecord::where('code',$code)
->update(['status' => '4']);
//符合条件减库存
$goods_stock = Goods::where('id',$exchangerecord['ngzb_goods_id'])
->setDec('stock', 1);
// 提交事务
self::commit();
} catch (\Exception $e) {
// 回滚事务
self::rollback();
return['code'=>0,'msg'=>'兑换失败'];
}
最新文章
- select2
- 驾照理论模拟考试系统Android源码下载
- sessionapplicationStruts2中访问web元素
- 基于FPGA的按键扫描程序
- nodejs phantom add click event
- qsettings 中文键值 注释 支持
- Struts+Hibernate+jsp页面,实现分页
- Day7 Numerical simulation of optical wave propagation之通过随机介质(如大气湍流)的传播(三)
- 五分钟快速掌握RPC原理及实现
- js操作对象
- TensorFlow实战Google深度学习框架1-4章学习笔记
- liunx 常用命令学习笔记
- java中的instanceof用法详解
- oozie 工作流调试及报错
- mfc CImageList和CListCtrl
- 【模板】BM + CH(线性递推式的求解,常系数齐次线性递推)
- DNA序列编码中Hairpin的定义和计算
- 测序中Q20 Q30 Q40
- Oracle错误: ORA-01722 无效数字
- Java重写、重载与覆盖