一、PSR-1 基础编码规范
类的命名 必须 遵循 StudlyCaps 大写开头的驼峰命名规范。
类的常量中所有字母都 必须 大写,词间以下划线分隔。
类的属性命名 可以 遵循:大写开头的驼峰式 ($StudlyCaps) 或 小写开头的驼峰式 ($camelCase) 或 下划线分隔式 ($under_score)本规范不做强制要求,但无论遵循哪种命名方式,都 应该 在一定的范围内保持一致,这个范围可以是整个团队、整个包、整个类或整个方法。
方法名称 必须 符合 camelCase() 式的小写开头驼峰命名规范。
二、PSR-2 编码风格规范
每行不该多于80个字符,大于80字符的行应该折成多行。
非空行后一定不可有多余的空格符。
代码必须使用4个空格符的缩进,一定不可用tab键。
PHP所有关键字必须全部小写。
常量true、false和null也必须全部小写。
namespace声明后必须插入一个空白行。
每条use声明语句必须只有一个use关键词。
最后一个use声明语句块后必须要有一个空白行。
关键词extends和implements必须写在类名称的同一行。
类的开始花括号必须独占一行,结束花括号也必须在类主体后独占一行。
implements的继承列表也可以分成多行,这样的话,每个继承接口名称都必须分开独立成行,包括第一个。
每个属性都必须添加访问修饰符。
所有方法都必须添加访问修饰符。
方法名称后一定不可有空格符,其开始花括号必须独占一行,结束花括号也必须在方法主体后单独成一行。参数左括号后和右括号前一定不可有空格。
方法参数列表中,每个逗号后面必须要有一个空格,而逗号前面一定不可有空格,有默认值的参数,必须放到参数列表的末尾。
需要添加abstract或final声明时,必须写在访问修饰符前,而static则必须写在其后。
方法及函数调用时,方法名或函数名与参数左括号之间一定不可有空格,参数右括号前也一定不可有空格。每个参数前一定不可 有空格,但其后必须有一个空格。
控制结构关键词后必须有一个空格,左括号(后一定不可有空格,右括号)前也一定不可有空格,右括号)与开始花括号{间必须有一个空格,结构体主体必须要有一次缩进,结束花括号}必须在结构体主体后单独成行。
应该使用关键词elseif代替所有else if,以使得所有的控制关键字都像是单独的一个词。
case 语句必须相对switch进行一次缩进,而break语句以及case内的其它语句都必须相对case进行一次缩进,如果存在非空的 case 直穿语句(没有break语句),主体里必须有类似// no break的注释。
类的命名 必须 遵循 StudlyCaps 大写开头的驼峰命名规范。
类的常量中所有字母都 必须 大写,词间以下划线分隔。
类的属性命名 可以 遵循:大写开头的驼峰式 ($StudlyCaps) 或 小写开头的驼峰式 ($camelCase) 或 下划线分隔式 ($under_score)本规范不做强制要求,但无论遵循哪种命名方式,都 应该 在一定的范围内保持一致,这个范围可以是整个团队、整个包、整个类或整个方法。
方法名称 必须 符合 camelCase() 式的小写开头驼峰命名规范。
二、PSR-2 编码风格规范
每行不该多于80个字符,大于80字符的行应该折成多行。
非空行后一定不可有多余的空格符。
代码必须使用4个空格符的缩进,一定不可用tab键。
PHP所有关键字必须全部小写。
常量true、false和null也必须全部小写。
namespace声明后必须插入一个空白行。
每条use声明语句必须只有一个use关键词。
最后一个use声明语句块后必须要有一个空白行。
关键词extends和implements必须写在类名称的同一行。
类的开始花括号必须独占一行,结束花括号也必须在类主体后独占一行。
implements的继承列表也可以分成多行,这样的话,每个继承接口名称都必须分开独立成行,包括第一个。
每个属性都必须添加访问修饰符。
所有方法都必须添加访问修饰符。
方法名称后一定不可有空格符,其开始花括号必须独占一行,结束花括号也必须在方法主体后单独成一行。参数左括号后和右括号前一定不可有空格。
方法参数列表中,每个逗号后面必须要有一个空格,而逗号前面一定不可有空格,有默认值的参数,必须放到参数列表的末尾。
需要添加abstract或final声明时,必须写在访问修饰符前,而static则必须写在其后。
方法及函数调用时,方法名或函数名与参数左括号之间一定不可有空格,参数右括号前也一定不可有空格。每个参数前一定不可 有空格,但其后必须有一个空格。
控制结构关键词后必须有一个空格,左括号(后一定不可有空格,右括号)前也一定不可有空格,右括号)与开始花括号{间必须有一个空格,结构体主体必须要有一次缩进,结束花括号}必须在结构体主体后单独成行。
应该使用关键词elseif代替所有else if,以使得所有的控制关键字都像是单独的一个词。
case 语句必须相对switch进行一次缩进,而break语句以及case内的其它语句都必须相对case进行一次缩进,如果存在非空的 case 直穿语句(没有break语句),主体里必须有类似// no break的注释。