PHP 标准规范
编码规范
说明:PSR 是由PHP FIG组织制定的PHP规范,是PHP开发的实践标准
PHP代码文件必须是不带BOM的UTF-8
目录
命名规范
类型 | 示例 | 描述 |
---|---|---|
类 | StudlyCaps | 类的命名 必须 遵循大写开头的驼峰命名 |
函数 | camelCase | 方法名称 必须 符合的小写开头驼峰命名 |
类方法 | camelCase | 方法名称 必须 符合的小写开头驼峰命名 |
变量 | underScore | 变量名可以遵循小写开头驼峰命名 |
类的属性 | underScore | 类的属性可以遵循小写开头驼峰命名 |
常量 | DATE_APPROVED | 常量中所有字母都 必须 大写,词间以下划线分隔 |
所有关键字 | static | 全部 必须 小写 |
个别常量 | true, null,false | 全部 必须 小写 |
命名尽量有意义,实在不行可以使用翻译软件
尽量避免没有意义的命名。
命名空间和类
- 完整的类名 必须 要有一个顶级命名空间,被称为 “vendor namespace”;
- 完整的类名 可以 有一个或多个子命名空间;
- 完整的类名 必须 有一个最终的类名;
- 完整的类名 可以 由任意大小写字母组成;
- 所有类名都 必须 是大小写敏感的。
- 类和方法开始花括号
{
必须写在函数声明后自成一行,结束花括号}
也必须写在函数主体后自成一行 - 类的属性和方法 必须 添加访问修饰符(private、protected 以及 public)
abstract
以及final
必须声明在访问修饰符之前,而static
必须声明在访问修饰符后- 关键词 extends 和 implements 必须 写在类名称的同一行。
- 控制结构的关键字后必须要有一个空格符,而调用方法或函数时则一定不可有。
- 控制结构的开始左括号后和结束右括号前,都一定不可有空格符。
- namespace 声明后 必须 插入一个空白行。
- 所有 use 必须 在 namespace 后声明。
- 每条 use 声明语句 必须 只有一个 use 关键词。
- use 声明语句块后 必须 要有一个空白行。
例:
1 |
|
基本编码准则
非空行后 一定不可有 多余的空格符。
每行 一定不可 存在多于一条语句。
空行可以使得阅读代码更加方便以及有助于代码的分块,一般使用 一个 空行
方法
方法名称后 一定不可 有空格符
参数列表中,每个逗号后面 必须 要有一个空格,而逗号前面 一定不可 有空格。
有默认值的参数,必须 放到参数列表的末尾。
结构体主体 必须 要有一次缩进。
一个标准的方法声明可参照以下范例,留意其括号、逗号、空格以及花括号的位置。
例:
1 |
|
函数调用
方法及函数调用时,方法名或函数名与参数左括号之间 一定不可 有空格
参数右括号前也 一定不可 有空格
每个参数前 一定不可 有空格,但其后 必须 有一个空格。
一个标准的方法调用可参照以下范例,留意其括号、逗号以及空格的位置。
例:
1 |
|
if、elseif和else
应该使用关键词 elseif
代替所有 else if,以使得所有的控制关键字都像是单独的一个词。
标准的if结构如下代码所示,请留意「括号」、「空格」以及「花括号」的位置, 注意 else 和 elseif 都与前面的结束花括号在同一行。
例:
1 |
|
switch和case
case语句
必须 相对 switch
进行一次缩进
break
语句以及 case
内的其它语句都必须相对 case
进行一次缩进。
如果存在非空的 case
直穿语句,主体里必须有类似 //no break 的注释。
标准 的switch
结构如下代码所示,留意括号、空格以及花括号的位置。
例:
1 |
|
while和do while
一个规范的 while
语句应该如下所示,注意其「括号」、「空格」以及「花括号」的位置。
例:
1 |
|
标准的 do while
语句如下所示,同样的,注意其「括号」、「空格」以及「花括号」的位置。
例:
1 |
|
for
标准的 for
语句如下所示,注意其「括号」、「空格」以及「花括号」的位置。
例:
1 |
|
foreach
标准的 foreach
语句如下所示,注意其「括号」、「空格」以及「花括号」的位置。
例:
1 |
|
try catch
标准的 try catch
语句如下所示,注意其「括号」、「空格」以及「花括号」的位置。
1 |
|
闭包
闭包声明时,关键词 function
后以及关键词 use
的前后都必须要有一个空格。
开始花括号 必须 写在声明的同一行,结束花括号 必须 紧跟主体结束的下一行。
参数列表和变量列表的左括号后以及右括号前,一定不可 有空格。
参数和变量列表中,逗号前 一定不可 有空格,而逗号后 必须 要有空格
闭包中有默认值的参数 必须 放到列表的后面。
标准的闭包声明语句如下所示,注意其「括号」、「空格」以及「花括号」的位置。
1 |
|
参数和变量可分成多行
参数列表以及变量列表可以分成多行
这样,包括第一个在内的每个参数或变量都 必须 单独成行
而列表的右括号与闭包的开始花括号 必须 放在同一行。
1 |
|