PHP的PSR系列规范

  PSR,即系列推荐标准,目前经过的规范有psr-0,psr-1,psr-2,psr-3,psr-4,它并非PHP官方的标准,而是从zend,Symfony2等知名的项目里提炼的标准,制定该标准的组织是PHP-FIG(PHP标准组)。php

  PSR-0,即类的自动加载规范,可是从2014-10-21起,该规范被过期或者废弃,由PSR-4代替,更为简洁!git

1.一个彻底合格的命名空间和类名必须有如下的结构“\<Vendor Name>\Namespace\class namegithub

2.每一个命名空间必须有顶级的命名空间。函数

3.每一个命名空间能够有任意多个子命名空间。编码

4.每一个命名空间在被从文件系统加载时必须转化为路径分隔符(DIRECTORY_SEPARATOR)(实际上最后也是被include)。spa

5.'_' 在命名空间中没有特殊意义,要以.php结尾。接口

  PSR-4get

1.术语「类」是一个泛称;它包含类,接口,traits 以及其余相似的结构;it

2.自动载入器的实现不可抛出任何异常,不可引起任何等级的错误;也不该返回值class

3.彻底限定类名应该相似以下范例:

<namespacename>(<subnamespacenames>)*<classname>< p="">

  1. 彻底限定类名必须有一个顶级命名空间(Vendor Name);
  2. 彻底限定类名能够有多个子命名空间;
  3. 彻底限定类名应该有一个终止类名;
  4. 下划线在彻底限定类名中是没有特殊含义的;
  5. 字母在彻底限定类名中能够是任何大小写的组合;
  6. 全部类名必须以大小写敏感的方式引用;

 

 

  PSR-1,基础编码标准。

1.源文件必须使用<?php 和<?=这两种标签。

2.源文件中的PHP代码必须使用不带BOM的UTF-8.

3.一个源文件建议只用来作声明(类,方法和常量)或者作一些引发反作用的操做(输出信息,修改.ini文件),可是不该该同时作这两件事情。

4.类名和文件名使用大写驼峰。

5.常量去使用大写字母和下划线。

6.方法名使用小写驼峰

  PSR-2,编码风格

  • 代码必须遵照 PSR-1

  • 代码必须使用4个空格的缩进,而不是制表符。

  • 一行代码长度不该硬性限制;软限制必须为120个字符;也应当是80个字符或者更少。

  • 在namespace声明下面必须有一个空行,而且use声明代码块下面也必须有一个空行。

  • 类的左花括号必须放到下一行,右花括号必须放在类主体的下一行。

  • 方法的左花括号必须放在下一行,右花括号必须放在方法主体下面。

  • 全部的属性和方法必须有可见性(译者注:Public, Protect, Private)声明;abstract和final声明必须在可见性以前;static声明必须在可见性以后。

  • 控制结构的关键词必须在后面有一个空格; 方法和函数不可有。

  • 控制结构的左花括号必须放在同一行,右花括号必须放在控制主体的下一行。

  • 控制结构的左括号后面不可有空格,右括号以前不可有空格

相关文章
相关标签/搜索