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="">
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声明必须在可见性以后。
控制结构的关键词必须在后面有一个空格; 方法和函数不可有。
控制结构的左花括号必须放在同一行,右花括号必须放在控制主体的下一行。
控制结构的左括号后面不可有空格,右括号以前不可有空格