PSR-1 基本代码规范

Posted: 2015-10-07  By  vilay  |  Views(1287)

1.概览

  • PHP代码文件必须以
  • PHP代码文件必须以无BOM的utf-8编码;
  • PHP代码中应该只定义类,函数,常量等的声明,或者其他会产生从属效应的操作(如:生成文件输出及修改php.ini配置文件等),二选一;
  • 命名空间以及类名必须符合PSR的自动加载规范(PSR-0(已废弃)或者PSR-4);
  • 类的命名必须按照大写开头的驼峰法命名规范,例如:TestClass;
  • 类的常量必须所有的字母都大写,单词间下划线分隔;
  • 方法名必须符合首字母第一个单词首字母小写后面单词首字母大写的小写开头驼峰法命名规范,例如:getName,getPostName;

2.文件

2.1 PHP 标签

PHP代码必须使用 或者 标签包含,不能使用其他标签

2.2 字符编码

PHP代码只能使用无BOM的UTF-8编码;

2.3 从属效应

从属效应是指:只是通过包含文件,不直接申明类,函数等,而执行的逻辑操作;

从属效应包含不仅只是:生成输出,require,include,连接外部服务,修改ini配置,抛出错误或者异常,修改全局或静态变量,读或写文件等;

一份PHP文件中最好只定义新的申明,如定义类,函数或者常量等不产生从属效应的操作,或者只包含会产生从属效应的操作,不应该同时包含两个;

例子:

    

以上例子只包含了从属效应

3.命名空间和类

命名空间和类命名必须按照PSR-0或者PSR-4;

根据规范,每个类为独立的一个文件,且命名空间至少有一个层次,顶级的组织名称;

类的命名必须以按照TestClass 大写开头的驼峰法命名;

例子:

     

4.类的常量,属性和方法

4.1 常量

类的常量中所有字母都要大写,单词间必须以下划线分隔;

 

4.2 属性

类的属性名可以按大写开头的驼峰式($TestName),小写开头的驼峰式($testName),下划线分隔($test_name);

4.3 方法

方法名必须符合首字母第一个单词首字母小写后面单词首字母大写的小写开头驼峰法命名规范,例如:getName,getPostName;