PHP-PSR-[0-4]代码规范
2018-08-19 本文已影响0人
辣子夹馍
-
PSR-0 规范
1. 一个完全合格的namespace和class必须符合这样的结构:“\< Vendor Name>(< Namespace>)*< Class Name>”
2. 每个namespace必须有一个顶层的namespace("Vendor Name"提供者名字)
3. 每个namespace可以有多个子namespace
4. 当从文件系统中加载时,每个namespace的分隔符(/)要转换成 DIRECTORY_SEPARATOR(操作系统路径分隔符)
5. 在类名中,每个下划线(_)符号要转换成DIRECTORY_SEPARATOR(操作系统路径分隔符)。在namespace中,下划线(_)符号是没有(特殊)意义的。
6. 当从文件系统中载入时,合格的namespace和class一定是以 .php 结尾的
7. verdor name,namespaces,class名可以由大小写字母组合而成(大小写敏感的)
-
PSR-1 规范
1. PHP源文件必须只使用 <?php 和 <?= 这两种标签。
2. 源文件中php代码的编码格式必须是不带字节顺序标记(BOM)的UTF-8。
3. 一个源文件建议只用来做声明(类(class),函数(function),常量(constant)等)或者只用来做一些引起副作用的操作(例如:输出信息,修改.ini配置等),但不建议同时做这两件事。
4. 命名空间(namespace)和类(class) 必须遵守PSR-0标准。
5. 类名(class name) 必须使用骆驼式(StudlyCaps)写法 (注:驼峰式(cameCase)的一种变种,后文将直接用StudlyCaps表示)。
6. 类(class)中的常量必须只由大写字母和下划线(_)组成。
7. 方法名(method name) 必须使用驼峰式(cameCase)写法。
-
PSR-2 规范
1. 文件末尾必须空一行。
2. 必须使用Unix LF(换行)作为行结束符。
3. 纯PHP代码源文件的关闭标签?>必须省略。
-
PSR-3 规范
待续....
-
PSR-4 规范
1. 废除了PSR-0中_就是目录分割符的写法,_下划线在完全限定类名中是没有特殊含义了。
2. 类文件名要以 .php 结尾。
3. 类名必须要和对应的文件名要一模一样,大小写也要一模一样。