php代码规范
幻冰小站 浏览次数:614 2019-07-05 11:38:21

PSR-1

  1. 文件必须使用UTF-8没有BOM来写php代码。

  2. 每个文件 建议 只用来声明(类 class,函数 function,常量 constant 等) 或者只用来做一些辅助操作(输出信息,修改配置等),但是一个文件 不建议 同时做这两件事

  3. 命名空间和类必须遵循“autoloading”PSR规范: [PSR-0, PSR-4]

  4. 类名必须声明为StudlyCaps(首字母大写)

  5. 类常量必须声明为大写字母加下划线

  6. 方法必须声明为驼峰

PSR-2

  1. 代码必须缩进四个空格而不是tab 键缩进。因为,在不同的编辑器中,空格的渲染效果基本一致的,但是制表符却不一致。

  2. 建议一行代码120个字符。最好少于80个字符。

  3. 命名空间下必须有一行空行,一堆use 下面必须有一行空行。use必须跟在namespace后面。

  4. 类和方法的开始花括号,结束花括号,必须放到下面自成一行。

  5. 所有的属性和方法必须有可见性声明。抽象(abstract)和终结(final)声明必须在可见声明之前。而静态(static)声明必须在可见性声明之后。

  6. 控制结构

    • 控制结构关键字之后必须有一个空格,方法和函数关键字后面不能有空格。

    • 控制结构的的开始花括号放在其同一行,结束花括号必须在主体下一行。

    • 控制结构,方法的左括号之后不可有空格,右括号之前不可有空格。

      if ($expr1) {// if body
      }
  1. 括号

    • 左括号之后不可有空格,右括号之前不可有空格。

    • 括号和花括号之间一般需有一个空格(开始花括号和前面的内容大多都需有一个空格)

  2. 逗号前面不能有空格,逗号后面必须有空格。

  3. 一列分成多列时,一般是一个个体成一行。

  4. 关键字,运算符前后一般都要有一个空格。

  5. 文件

    • 所有的php文件必须使用换行符结束,必须以单独的空行结束。

    • 结束符"?>"标签在只包含php的文件必须省略。

    • 非空行不得以空行结尾。

    • 空行应该是提升阅读体验,而且表明相关代码块。

    • 每行不应该有一个以上的语句。

  6. 关键字

    • 关键字和true,false, null等必须小写。

    • extend 和 implements关键字必须生命在同一行。如果Implements太多的话分成多列,每列必须单独一行。

  7. 属性

    • 所有属性必须是可见的。

    • var 不能用来定义属性。

    • 每行语句只能声明一个属性。

    • 属性的名称不应该以下划线为前缀来表明属性为protected或者private。

  1. 方法

    • 所有方法必须有可见性。

    • 方法的名称不应该以下划线为前缀来表明属性为protected或者private。

    • 方法参数列表,逗号前面不能有空格,逗号后面必须有空格,有默认参数必须放在最后。

    • 如果参数过多分成多列,那么每个参数单独成一行,结束括号和花括号单独成一行,并且括号和花括号之间有一个空格。

    • 闭包函数的关键字funciton,use前后必须有空格。开始花括号和定义在一行。