缩进处理
规则:PHP标记一律采用XML风格。
说明:该风格的标记在XML、XHTML中均可使用。
eg:
<?php
echo “这是XML风格的标记”;
?>
规则:代码编辑时,使用空格,而不使用Tab制表符,每次缩进四个空格。
说明:制表符在不同的编辑器中,代表的长度不一样,为了避免代码在不同的环境下的显示混乱,一律用空格进行缩进;可以在具体编辑器中,将制表符Tab替换成空格;如下所示,代码一行开头进行缩进
eg:
interface Printing
{
public function prints();
}//interface Printing
规则:代码段中,每对‘{’、‘}’要进行对齐。
说明:如上
规则:在两个以上的关键字、变量、常量进行对等操作时,它们之间的操作符前后要加空格;进行非对等操作时,如果是关系密切的立即操作符(如:->、++、–),后不应加空格。
说明:阅读代码更加清晰
if ($a == $b)
{
$objectA->doStart();
}
$a *= 2;
规则:不允许把多个短语句写在一行中,即一行只写一条语句。
说明:阅读代码更加清晰
eg:
$a = new Object();
$b = null;
不能如下调用:
$a = new Object(); $b = null;
规则:if, for, do, while, case, switch, default 等语句自占一行,且执行语句无论多少都要加括号{}。
说明:阅读代码更加清晰,减少错误产生
eg:
if ($a > $b)
{
doStart();
}
case x:
{
$i = 9;
}
规则:对于switch语句下的case语句(default语句除外),必须在每个case分支结束前加上break/return/throw等结束语句。
说明:break/return/throw才能真正表示该switch执行结束,不然可能会进入该case以后的分支;语法上合法的场景“一个case后进入下一个case处理”,应该避免。
eg:
switch($week)
{
case 1:
{
。。。
break;
}
case 2:
{
。。。
break;
}
。。。
default:
{
。。。
}
}// switch($week)
规则:相对独立的程序块之间、变量说明之后必须加空行。
说明:阅读代码更加清晰
eg:
if($a > $b)
{
doStart();
}
//此处是空行
return;
行宽设置
规则:每行代码最多为80个字符;较长的语句、表达式或参数(>80字符)要分成多行书写,长表达式要在低优先级操作符处划分新行,操作符放在新行之首,划分出的新行要进行适当的缩进,使排版整齐,语句可读。
说明:阅读代码更加清晰
eg:
for($i = 0,$j = 0;
($i < first_world_length) && ($j < second_world_length);
$i++,$j++)
{
//…
}
方法定义
规则:访问权限与返回类型之间,需要有空格;参数列表中,如果参数较多,每个参数定义独占一行,并且各参数缩进对齐。
说明:
eg:
public function setNumeratorAndDenominator($num,
$den
)
{
$this->numerator = $num;
$this->denominator = $den;
}//public function setNumeratorAndDenominator($num,
方法调用
规则:方法调用时,所有参数应该在同一行或者每行一个参数;如果每行一个参数,以缩进对齐。
说明:
eg1、所有参数应该在同一行:
$frac2->setNumeratorAndDenominator(1, 5);
eg2、如果每行一个参数,以缩进对齐:
$frac2->setNumeratorAndDenominator(1,
5
);
可见性声明
规则:类属性和类方法不要交叉放置,不同存取范围的属性或者方法也尽量不要交叉放置;类定义与{}对齐。
说明:阅读代码更加清晰
类定义
{
类的公有属性定义
类的保护属性定义
类的私有属性定义
类的公有方法定义
类的保护方法定义
类的私有方法定义
}
规则:修饰词按照指定顺序书写:[访问权限][static],[const]定义的类常量不能用[访问权限]或[static]修饰。
说明:
eg:
public static $str = “abc”;
或
const STR = “abc”;