云服务器

值得注意的PHP代码样式规范

2019-12-04 14:21:49 88

为了减少不同开发者在浏览代码时减少认知的差异。为此列举一组如何格式化PHP代码的共用规则。各个成员项目的共性组成了本文的样式规则。当不同的开发者在不同的项目中合作时,将会在这些不同的项目中使用一个共同的标准。因此,规范代码格式的好处不在于规则本身,而在于共用这些规则。


1.概括

1.1 基础代码规范

代码必须遵守 PSR-1 的所有规则。


1.2 文件

所有的PHP文件必须使用Unix LF(换行)作为行结束符。

所有PHP文件必须以一个空行结束。

PHP代码的文件关闭标签?>必须省略

 

1.3 

行长度不可有硬限制。

行长度的软限制必须是120个字符;对于软限制,自动样式检查器必须警告但不可报错。

行实际长度不应超过80个字符;较长的行应当被拆分成多个不超过80个字符的后续行。

在非空行后面不可有空格。

空行可以用来改善可读性和区分相关的代码块。

一行不应多于一个语句。

 

1.4 缩进

代码必须使用4个空格的缩进,并且不可使用制表符作为缩进。

注意:只用空格,不和制表符混合使用,将会对避免代码差异,补丁,历史和注解中的一些问题有帮助。使用空格还可以使调整细微的缩进来改进行间对齐变得非常简单。

 

1.5 关键词和 True/False/Null

PHP keywords 必须使用小写。

PHP常量true, false和null必须使用小写。


2. Namespace和Use声明

如果存在,namespace声明之后必须有一个空行。

如果存在,所有的use声明必须放在namespace声明的下面。

一个use关键字必须只用于一个声明。

use声明代码块后面必须有一个空行。

示例:

3. 类,属性和方法

3.1 扩展和继承

一个类的extends和implements关键词必须和类名在同一行。

类的左花括号必须放在下面自成一行;右花括号必须放在类主体的后面自成一行。

示例:


implements一个列表可以被拆分为多个有一次缩进的后续行。如果这么做,列表的第一项必须要放在下一行,并且每行必须只有一个接口。

示例:

3.2 属性

所有的属性必须声明可见性。

var关键词不可用来声明属性。

一个语句不可声明多个属性。

属性名称不应使用单个下划线作为前缀来表明保护或私有的可见性。

一个属性声明看起来应该下面这样的


3.3 方法

所有的方法必须声明可见性。

方法名不应只使用单个下划线来表明是保护或私有的可见性。

方法名在声明之后不可跟随一个空格。左花括号必须放在下面自成一行,并且右花括号必须放在方法主体的下面自成一行。左括号后面不可有空格,右括号前面不可有空格。一个方法定义看来应该像下面这样。 注意括号,逗号,空格和花括号:

示例:

3.4 参数

在参数列表中,逗号之前不可有空格,逗号之后必须要有一个空格。方法中有默认值的参数必须放在参数列表的最后面。

参数列表可以被分为多个有一次缩进的多个后续行。如果这么做,列表的第一项必须放在下一行,并且每行必须只放一个参数。当参数列表被分为多行,右括号和左花括号必须夹带一个空格放在一起自成一行。

3.5 abstract,final和 static

如果存在,abstract和final声明必须放在可见性声明前面。

如果存在,static声明必须跟着可见性声明。

3.6调用方法和函数

要调用一个方法或函数,在方法或者函数名和左括号之间不可有空格,左括号之后不可有空格,右括号之前不可有空格。函数列表中,逗号之前不可有空格,逗号之后必须有一个空格。

参数列表可以被拆分成多个有一个缩进的后续行。如果这么做,列表中的第一项必须放在下一行,并且每一行必须只有一个参数


4. 控制结构

4.1 if,elseif,else

一个if结构看起来应该像下面这样。注意括号,空格,花括号的位置;并且else和elseif和前一个主体的右花括号在同一行

示例:


4.2 switch和case

一个switch结构看起来应该像下面这样。注意括号,空格和花括号。case语句必须从switch处缩进,并且break关键字(或其他中止关键字)必须和case主体缩进在同级。如果一个非空的case主体往下落空则必须有一个类似// no break的注释。


4.3 while do while

一个while语句看起来应该像下面这样。注意括号,空格和花括号的位置,

同样的,一个do while语句看起来应该像下面这样。注意括号,空格和花括号的位置

4.4 foreach

4.5 try, catch

5.闭包

闭包在声明时function关键词之后必须有一个空格,并且use之前也需要一个空格。

左花括号必须在同一行,右花括号必须在主体的下一行。

参数列表和变量列表的左括号之后不可有空格,其右括号之前也不可有空格。

在参数列表和变量列表中,逗号之前不可有空格,逗号之后必须有空格。

闭包带默认值的参数必须放在参数列表后面。

一个闭包声明看起来应该像下面这样。注意括号,空格和花括号的位置。

要注意参数和变量列表可以被分成多个带一次缩进的后续行。如果这么做,列表的第一项必须放在下一行,并且一行必须只放一个参数或变量。当最终列表(不管是参数还是变量)被分成多行,右括号和左花括号必须夹带一个空格放在一起自成一行。




睿江云官网链接:https://www.eflycloud.com/home?from=RJ0032

下一篇: 无

微信关注

获取更多技术咨询