在写代码的时候,一个好的编码规范,对我们来说能够起到很多意向不到的效果。比如:
1、提高我们的编码效率。整齐划一的代码方便我们进行复制粘贴哦!
2、提高代码的可读性。
3、显示我们专业。别人看到了我们的代码,发现整个代码的书写流程都整齐划一,瞬间逼格就上去了!
4、方便团队协同工作。大家使用同一的规范,这样就消除了五花八分的书写方式,同一协调!
那么一起来看下都有那些规范呢?
文件与行
-
PHP 代码文件必须以 <?php起;
-
代码必须使用4个空格符而不是 tab 键进行缩进;
-
PHP 代码文件必须以 不带 BOM 的 UTF-8 编码;
-
纯 PHP 代码文件必须省略最后的 ?> 结束标签;
-
所有 PHP 文件必须以一个空白行作为结束;
-
所有 PHP 文件必须使用Unix LF (linefeed)作为行的结束符;
-
视图文件中的 PHP 代码(模板代码除外)必须使用 <?php ?> 长标签 或 <?= ?> 短输出标签;一定不可使用其它自定义标签。
-
非空行后一定不能有多余的空格符;
-
每行的字符数应该保持在80个之内, 不应该多于120个;
-
每行一定不能存在多于一条语句。
类,方法,属性
-
命名空间以及类必须符合 PSR 的自动加载规范:PSR-4;
-
PHP代码中应该只定义类、函数、常量等声明或只定义其他会产生 从属效应 的操作(如:生成文件输出、引入文件以及修改 ini 配置文件等),二者只能选其一;
-
类的命名必须遵循 StudlyCaps 大写开头的驼峰命名规范;
-
类中的常量所有字母都必须大写,单词间用下划线分隔;
-
方法名称必须符合 camelCase 式的小写开头驼峰命名规范;
-
use声明必须位于namespace声明之后, 每个 namespace 命名空间声明语句块和 use 声明语句块后面,必须插入一个空白行;
-
类与方法的开始花括号({)必须写在函数声明后自成一行,结束花括号(})也必须写在函数主体后自成一行;
-
关键词 extends 和 implements必须写在类名称的同一行;
-
每条语句一定不能定义超过一个属性,一定不可使用关键字 var 声明一个属性;
-
类的属性和方法必须添加访问修饰符(private、protected 以及 public),不要使用下划线_作为前缀来区分属性是 protected 或 private;
-
需要添加 abstract 或 final 声明时, 必须写在访问修饰符前,而 static 则必须写在其后;
-
方法及函数的声明和调用时,方法名或函数名与参数左括号之间一定不能有空格,参数左括号后与右括号前也一定不能有空格,参数列表中每个逗号后面必须要有一个空格,而逗号前面一定不能有空格。
控制结构
-
控制结构转折(else、else if、catch 以及 do ... while 结构中的 while)关键字与上一结构体的结束花括号(})必须写在同一行中,两者之间一定有一个空格;
-
控制结构的开始花括号({)必须写在声明的同一行,而结束花括号(})必须写在主体后自成一行;
-
控制结构的关键字后必须要有一个空格,右括号 ) 与开始花括号 { 间也一定有一个空格;
-
条件括号左括号后与右括号前一定不能有空格,两个子句句之间(分号之后)一定有一个空格;
-
每个结构体的主体都必须被包含在成对的花括号之中。
闭包
-
开始花括号必须写在声明的同一行,结束花括号必须紧跟主体结束的下一行;
-
闭包声明时,关键词 function 后以及关键词 use 的前后都必须要有一个空格;
-
参数列表和变量列表的左括号后以及右括号前,必须不能有空格;
-
参数和变量列表中,逗号前必须不能有空格,而逗号后必须要有空格。
变量与关键字
-
PHP所有 关键字 必须全部小写,常量 true 、false 和 null 也必须全部小写;
-
变量赋值和比较(包括控制结构条件语句和数组中)的操作符(=、>、< 以及 =>)两端必须各有一个空格,但自增(++)自减(--)操作变量与符号之间一定不能有空格;
-
变量声明应该使用下划线分隔的小写字母,不应该使用非通用的单词简写,不应该出现英文以外的拼写或简写;
-
array、emtpy、isset、unset 等关键字括号内的变量两端必须不能有多余的空格;
-
数组声明和使用都应该使用[] 代替 array();
-
需要换行数组变量的声明,数组开始符号([ 或 array()应该和操作符在同一行,数组的第一个元素应该在新的一行开始,且与上一行之间必须保持一个缩进,数组的结束符号([ 或 ])必须新起一行,且应该与变量的第一个字符对齐。