为避免浏览多个作者参与编写的项目时,因风格的不同造成不便时,大家可以使用同一套风格规范来统一标准
- 代码必须遵循PSR1的规范
- 缩进使用4个空格,而不是TAB键缩进
- 每行代码控制在80-120个
- 每个
namespace
申明语句后,每个'use'申明语句块
后一定要空一行 - 类的开始和结束花括号必须自成一行,方法的也是
- 类的属性必须添加访问控制修饰符如
private
,public
,protected
,abstract
,final
必须放在访问修饰符之前,static
放在
访问修饰符之后 - 控制结构的关键字后面必须要有个空格 如
if ()
,而调用函数或方法则一定不能有空格 应getFunction()
- 控制结构的开始花括号和申明写在一行,结束花括号自成一行;开始花括号后,结束花括号前一定不能有空格
- 所有PHP文件以
Unix LF (linefeed)
作为行的结束符 - 所有PHP文件必须以空白行结束
- 纯PHP文件必须省略最后的 ?>
- 非空行后一定不可有多余的空格符
- 每行一定不可存在超过一条语句
- 关键字全部小写
- use语句,一行应该只有一个
- 类的extends,implements 必须和类名在一行,implements继承的接口名可以多行,多行时一行只能有一个接口名
- 一定不要用var申明属性
- 不要使用下划线定义属性和方法
- 方法名一定要定义访问修饰符
- 方法申明的左括号后右括号前不要有空格
- 方法的参数后面逗号紧接参数名,逗号后有空格
- 拆分成多行的方法参数 结束括号和开始的花括号要在一行,方法的申明和开始括号在一行
- 调用方法时和方法的申明规则一样
- 控制结构结束
)
和开始的{
之间要有个空格 - 控制结构 else 或 else if 必须和 开始花括号和结束花括号在一行 如
} else {
- 控制结构的结构体必须要有缩进
- switch语句,case 相对于switch要有段缩进,break相对于case要有段缩进
- 存在非空的case直穿语句时,必须交上
//no break
注释
<?php
switch ($expr) {
case 0:
echo 'First case, with a break';
break;
case 1:
echo 'Second case, which falls through';
// no break
case 2:
case 3:
case 4:
echo 'Third case, return instead of break';
return;
default:
echo 'Default case';
break;
}
<?php
namespace VendorPackage;
use FooInterface;
use BarClass as Bar;
use OtherVendorOtherPackageBazClass;
class Foo extends Bar implements FooInterface
{
public function sampleFunction($a, $b = null)
{
if ($a === $b) {
bar();
} elseif ($a > $b) {
$foo->bar($arg1);
} else {
BazClass::bar($arg2, $arg3);
}
}
final public static function bar()
{
// 方法的内容
}
}