代码规范
Posted LvFish
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了代码规范相关的知识,希望对你有一定的参考价值。
规范网址:https://github.com/PizzaLiu/php-FIG
一、PHP标签、字符编码
PHP代码必须使用 <?php ?> 长标签 或 <?= ?> 短输出标签; 一定不可使用其它自定义标签。
PHP代码必须且只可使用不带BOM的UTF-8编码。
二、命名空间和类
2.1 类
类的开始花括号必须独占一行,结束花括号也必须在类主体后独占一行。
每个类都独立为一个文件,且命名空间至少有一个层次:顶级的组织名称(vendor name)。
类的命名必须 遵循 StudlyCaps 大写开头的驼峰命名规范。
2.2 namespace
namespace 声明后 必须 插入一个空白行
所有 use 必须 在 namespace 后声明。
每条 use 声明语句 必须 只有一个 use 关键词。
use 声明语句块后 必须 要有一个空白行。
三、类的常量、属性和方法
3.1 常量
类的常量中所有字母都必须大写,词间以下划线分隔
关键词 extends 和 implements必须写在类名称的同一行。
3.2 属性
每个属性都必须添加访问修饰符。
类的属性命名可以遵循 大写开头的驼峰式 ($StudlyCaps)、小写开头的驼峰式 ($camelCase)又或者是 下划线分隔式 ($under_score)
一定不可使用关键字 var 声明一个属性。
每条语句一定不可定义超过一个属性。
不要使用下划线作为前缀,来区分属性是 protected 或 private。
3.3 方法
所有方法都必须添加访问修饰符。
不要使用下划线作为前缀,来区分方法是 protected 或 private。
方法名称后一定不能有空格符,其开始花括号必须独占一行,结束花括号也必须在方法主体后单独成一行。参数左括号后和右括号前一定不能有空格。
3.4 方法的参数
参数列表中,每个逗号后面必须要有一个空格,而逗号前面一定不能有空格。
有默认值的参数,必须放到参数列表的末尾。
3.5 abstract 、 final 、 以及 static
需要添加 abstract 或 final 声明时, 必须写在访问修饰符前,而 static 则必须写在其后。
3.6 方法及函数调用
方法及函数调用时,方法名或函数名与参数左括号之间一定不能有空格,参数右括号前也 一定不能有空格。每个逗号前一定不能有空格,但其后必须有一个空格。
参数可以分列成多行,此时包括第一个参数在内的每个参数都必须单独成行。
四、文件
所有PHP文件必须使用Unix LF (linefeed-换行)作为行的结束符。
所有PHP文件必须以一个空白行作为结束。
纯PHP代码文件必须省略最后的 ?> 结束标签。
五、行
非空行后一定不能有多余的空格符、每行一定不能存在多于一条语句。
六、缩进
代码必须使用4个空格符的缩进,一定不能用 tab键 。
七、关键字以及 true/false/null
PHP所有 关键字必须全部小写。
常量 true 、false 和 null 也必须全部小写。
八、控制结构
8.1 控制结构就是函数和判断
控制结构关键词后必须有一个空格。
左括号 ( 后一定不能有空格。
右括号 ) 前也一定不能有空格。
右括号 ) 与开始花括号 { 间一定有一个空格。
结构体主体一定要有一次缩进。
结束花括号 } 一定在结构体主体后单独成行。
8.2 if 、 elseif 和 else
8.3 switch 和 case
case 语句必须相对 switch 进行一次缩进,而 break 语句以及 case 内的其它语句都 必须 相对 case 进行一次缩进。 如果存在非空的 case 直穿语句,主体里必须有类似 // no break 的注释。
8.4 while 和 do while
8.5 for
8.6 foreach
8.7 tye 、catch
9 闭包
闭包声明时,关键词 function 后以及关键词 use 的前后都必须要有一个空格。
开始花括号必须写在声明的同一行,结束花括号必须紧跟主体结束的下一行。
参数列表和变量列表的左括号后以及右括号前,必须不能有空格。
参数和变量列表中,逗号前必须不能有空格,而逗号后必须要有空格。
闭包中有默认值的参数必须放到列表的后面。
标准的闭包声明语句如下所示,注意其 括号、逗号、空格以及花括号的位置。
以上是关于代码规范的主要内容,如果未能解决你的问题,请参考以下文章