PSR-0 (Autoloading Standard)
自动加载标准
PSR-1 (Basic Coding Standard)
基础编码标准
PSR-2 (Coding Style Guide)
编码风格向导
PSR-3 (Logger Interface)
日志接口
这里对所有的PSR规范都有说明:
https://github.com/hfcorriez/fig-standards/blob/zh_CN/%E6%8E%A5%E5%8F%97/PSR-1-basic-coding-standard.md
以及如下的比较好的翻译文档:
http://wenku.baidu.com/link?url=rnk4KpBtW-DSV0iZwtPEc9HBzADztTA3VSDVS2BZzUM6JLZdV0XssFg68WBGfG7HXAaPPQM8pCBeQ3YOBm46rD9dhdWxYV2XKP3JFYYBkbO
PHP strom的PSR只能对缩进和留白进行处理,所以对于名字规则必须我们自己来。
如下,这是一个不遵守PSR2的书写格式:
<?php
function foo($age,$gender,$userName){
}
使用PHPStorm
的格式能够使我们自动的遵守:
<?php
function foo($age, $gender, $userName)
{
}
PSR2
规范说明了,如果一个方法的参数有默认值,那么这个参数一定要放在最后:
function foo($age, $gender=0, $userName)
{
}
使用PHPStrom
无法做到这一点。所以,必须手工的放到最后。
就像这样:
<?php
function foo($age, $userName, $gender = 0)
{
}
所有属性在声明时一定?(MUST)?要给予初始值。?
当出现?abstract
?以及?final
?声明时,一定(MUST)
?要在将之声明于可视属性(visbility)
?之前。?
static
?声明时,一定(MUST)
?要将之声明于可视属性(visbility)
?之后。
这个说明包含了对方法的说明和对成员变量的说明。
PHPStor
m能自动的对这些顺序做出调整。所以不用static等担心顺序的问题。
本指南中故意不对$StulyCaps
,$camelCase
或者$unser_scor
e中的某一种风格作特别推荐,完全由读者依据个人喜好决定属性名的命名风格。
但是不管你如何定义属性名,建议在一个合理的范围内保持一致。这个范围可能是组织(vendor)级别的,包(package)级别的,类(class)级别的,或者方法(method)级别的。
不要试图复制代码。复制代码有可能不是不带字节顺序标记(BOM)的UTF-8的。