PHP的PSR系列规范

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

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

1.一个完全合格的命名空间和类名必须有以下的结构“\<Vendor Name>\Namespace\class name

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

3.每个命名空间可以有任意多个子命名空间。

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

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

  PSR-4

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

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

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声明必须在可见性之后。

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

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

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

posted @ 2016-10-09 14:10  tianye_guazi  阅读(253)  评论(0编辑  收藏  举报