# if条件判断规范
对于控制结构的书写遵循以下规则:
# 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();
}
~~~
- PHP
- php 简单语法
- php 语法
- PHP书写归范总结
- 代码缩进
- 变量赋值时候
- if条件判断
- 避免嵌入式赋值
- 函数和方法的注释
- php 开发常见问题总结
- 1、查找两个经纬度之间的距离
- 2、PHP常量详解:define和const的区别
- 3、常见面试题及特殊情况
- mysql
- MySQL 介绍
- MySQL 及 SQL 注入
- mysql常见问题
- MySQL数据类型
- MySQL where语句
- MySQL alter 命令
- MySQL 索引
- MySQL 复制表
- MySQL 处理重复数据
- redis
- redis介绍
- redis数据类型(共5种 )
- redis常见问题及使用场景
- redis事务
- Redis 分区
- Linux
- Linux介绍
- Linux 系统目录结构
- Linux 文件与目录管理
- shell
- Shell 教程介绍
- html+css+js
- 优秀技术文章
- 技术链接
- go语言
- go开发规范及注意事项
- go简单语法
- go开发技术总结
- 博客
- 小程序
- 1、页面跳转