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="">
- 完全限定类名必须有一个顶级命名空间(Vendor Name);
- 完全限定类名可以有多个子命名空间;
- 完全限定类名应该有一个终止类名;
- 下划线在完全限定类名中是没有特殊含义的;
- 字母在完全限定类名中可以是任何大小写的组合;
- 所有类名必须以大小写敏感的方式引用;
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声明必须在可见性之后。
-
控制结构的关键词必须在后面有一个空格; 方法和函数不可有。
-
控制结构的左花括号必须放在同一行,右花括号必须放在控制主体的下一行。
-
控制结构的左括号后面不可有空格,右括号之前不可有空格