PHP 开发的实践标准:PSR-2
2017-03-09
严格的代码风格
- 可以使其他的开发者更容易理解你的代码
1 概述
- 代码必须遵循 “编码风格指南” PSR [ PSR-1 ]。
- 代码必须使用 4 个空格缩进,而不是 tab 。
- 每行代码不超过 80 个字符,至少不能超过 120 个字符。
- namespace 声明后必须空一行 ,use 声明之后,必须空一行。
- 花括号与圆括号的使用。
- 类中的每个属性和方法都必须声明可见性,声明为 abstract 或 final ,必须放在可见性关键词之前,声明未 static ,必须放在之后。
- 控制结构的关键字在他们之后必须有一个空格。
2 详情
贯彻执行[ PSR-1 ]
- 代码必须遵循“编码风格指南”PSR [ PSR-1 ]。
缩进
- 使用 4 个空格缩进
使用 table 缩进的不要打架,因为空格可靠,在不同的编辑器中旋显示果基本一致。
有助于避免 diffs,patches,history,annotation 所产生的问题
文件和代码
PHP 文件必须使用 UNIX 风格的换行符 (LF) ,并且已空行结束,必须去掉 PHP 关闭标签 ?>。
必须重视这个问题:前辈们的教训
每行代码不超过 80 个字符,至少不能超过 120 个字符。
每行末尾不能有空格。
关键字
- PHP 的关键字都应该使用小写字母,例如 true, false, null.
命名空间
- 每个命名空间声明语句后必须跟着一个空行。类似的,使用 use 关键字导入命名空间或者创建别名时,在一系列声明语句后要加一个空行。
- 必须有一个 use 关键字表示声明
- use 声明必须在 namespace 之后。
1 |
|
类
- 这里的 class 指的是所有的类,接口,和性状。
- 类继承和接口必须写在类的同一行
- 花括号如下使用
1 |
|
方法
- 方法定义的括号和类一样,方法的参数,括号两边没有空格,每个参数以逗号空格结尾(最后一个除外)。
- 必须声明可见性
1 |
|
可见性
- 类中的每个属性和方法都必须声明可见性:public, protected, private。
- 如果把类属性和方法声明为 abstract 或 final ,此限定符必须放在可见性关键词之前
- 如果把属性和方法声明为 static ,限定符必须放在可见性关键词之后
1 |
|
控制结构
控制关键字包括:if, elseif, else, switch, case, while, do, while, for, foreach, try, catch。
通用规则如下
- 控制结构关键字后必须有一个空格
- 左圆括号之后,右圆口号之前不能有空格
- 大括号和右圆括号之间有一个空格
- 该结构体必须进行一次缩进
- 右大括号必须是在身体上的下一行
1 |
|
闭包(Closures)
- 闭包声明看起来像下面这样。注意括号,逗号,空格和括号的位置:
1 |
|
- 参考自:《Modern PHP》和 php-fig.org