ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
对于控制结构的书写遵循以下规则: # 1. 在if条件判断中,如果用到判断条件例如: ***** 错误示范:竟可能的不要这么写,万一少些了一个 = 号 就变成赋值了 ``` if ($errorNum == 6) { //逻辑 } ``` 正确示范: ``` if (6 == $errorNum) { //逻辑 } ``` 因为如果你在等式中漏了一个等号,语法检查器会为你报错,可以很快找到错误位置,这样的写法要多注意; # 2. 不要不可思议的数字 ***** 一个在源代码中使用了的赤裸裸的数字是不可思议的数字,因为包括作者,在三个月内,没人它的含义。例如: ~~~ if (22 == $foo) {     start_thermo_nuclear_war();  } else if (19 == $foo){     refund_lotso_money();  } else{     cry_cause_im_lost();  } ~~~ ~~~ $goodsList = $Goods->with('specGoodsPrice')->where($where)->where(function ($query) use ($prom_type, $prom_id) { if(in_array($prom_type,[3,6])){ //优惠促销 if ($prom_id) { $query->where(['prom_id' => $prom_id, 'prom_type' => $prom_type])->whereor('prom_id', 0); } else { $query->where('prom_type', 0); } }else if($prom_type == 7){ // $query->where([ 'prom_type' => $prom_type])->whereor('prom_type', 0); }else if($prom_type == 8){ //砍价 if ($prom_id) { $query->where(['prom_id' => $prom_id, 'prom_type' => $prom_type])->whereor('prom_id', 0); } else { $query->where('prom_type', 0); } }else if(in_array($prom_type,[1,2])){ //抢购,团购 $query->where('prom_type','in' ,[0,$prom_type])->where('prom_type',0); }else{ $query->where('prom_type',0); } })->order('goods_id DESC')->limit($Page->firstRow . ',' . $Page->listRows)->select(); ~~~ ## 你应该用define()来给你想表示某样东西的数值一个真正的名字,而不是采用赤裸裸的数字,例如: ## 在我们项目应该在模型里面定义静态变量, ~~~ /** * @package Home\Model */ class Order extends Model { static $TEAM_TYPE = 1; static $GROUP_TYPE = 2; } $goodsList = $Goods->with('specGoodsPrice')->where($where)->where(function ($query) use ($prom_type, $prom_id) { if(in_array($prom_type,[ Order::$TEAM_TYPE , Order::$GROUP_TYPE])){ //优惠促销 if ($prom_id) { $query->where(['prom_id' => $prom_id, 'prom_type' => $prom_type])->whereor('prom_id', 0); } else { $query->where('prom_type', 0); } }else if($prom_type == Order::$TEAM_TYPE){ // $query->where([ 'prom_type' => $prom_type])->whereor('prom_type', 0); } })->order('goods_id DESC')->limit($Page->firstRow . ',' . $Page->listRows)->select(); ~~~ ~~~ define("PRESIDENT_WENT_CRAZY", "22"); define("WE_GOOFED", "19"); define("THEY_DIDNT_PAY", "16");   if ( PRESIDENT_WENT_CRAZY == $foo) {      start_thermo_nuclear_war();  } else if (WE_GOOFED == $foo) {     refund_lotso_money();  } else if (THEY_DIDNT_PAY == $foo) { infinite_loop();  } else{     happy_days_i_know_why_im_here();  } ~~~