php mvc 模式的開發注意事項

1.控制器中:數據庫

若是不涉及到數據庫的就在控制器中。post

empty($res['code']) ? $this->error($res['msg']) : $this->success($res['msg']);  this

拋出異常寫法: spa

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.模型中:code

全部關於數據庫的操做都在模型裏面作。事務

return['code' => 0|1,'msg' => '返回信息'];//回覆格式統一,會比較好處理get

模型中的回滾(須要用 self:: ,不然不起做用it

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'=>'兌換失敗'];}
相關文章
相關標籤/搜索