PSR文档总结

PSR-1 基础编码规范

1、类的命名必须遵循大写开头的驼峰命名规范(StudyCaps)

2、方法命名必须遵循小写开头的驼峰命名规范(camelCase)

3、类中的常量所有字母必须大写,单词间用下划线分割(const PLATFORM_WECHAT = 9)

4、类中的属性名可遵循:大写开头驼峰、小写开头驼峰、下划线分割模式;无论使用那种方式,应该在一定范围内保持统一

5、命名空间及类必须符合psr-4自动加载规范

PSR-2 编码风格规范

文件

1、所有PHP文件必须以一个空行作为结束

2、纯PHP代码文件必须省略最后的结束标签 "?>"

1、每行不该多余80个字符,多余80个字符应该折成多行;行的长度不该有硬性限制,软性限制应必须限制在120个字符以内

2、非空行后一定不可有多余的空格符

3、每行不能存在多条语句

关键字

PHP所有关键字必须小写,常量 true、false、null 也必须全部小写

namespace及use声明

namespace声明后必须有一个空行

所有use声明必须放在namespace声明之后

use声明后必须有一个空行

例:

<?php

namespace wby\test;

use wby\Service\test;

use log;

class newOrder

{

}

方法

方法名称后不能有空格

开始花括号和结束花括号都必须独占一行

方法参数左括号后面和右括号前面不能有空格

方法参数中逗号后面要有一个空格

有默认值的参数,必须放到参数列表的末尾

参数列表可以分成多行,这样每个参数必须单独成一行,而且结束括号和方法开始的花括号必须写在同一行,中间用一个空格分隔,如下所示:

<?php

namespace Vendor\Package;

class ClassName

{

     public function aVeryLongMethodName(

         ClassTypeHint $arg1,

         &$arg2,

         array $arg3 = []

     ) {

         // 方法的内容

     }

  }

abstract、final 和 static

需添加 abstract \ final 声明时,必须写在访问修饰符前,而static 必须写在其后,如

abstract public static function();

 final public static function test()

{

}

控制结构

应该使用关键字 elseif 代替 else if, 以使得所有关键字都像是单独的一个词

switch case 语句中,如果存在非空的case直穿语句,主体里必须有类似 “//no break” 的注释

psr-4 自动加载规范

1、完整的类名需具备的结构

完整的类名必须有一个顶级命名空间,被成为“vendor namespace”

完整的类名可以有一个或多个子命名空间

完整的类名必须有一个最终的类名

完整类名中任一部分的下划线都是没有特殊含义的

完整类名可以由任意大小写字母组成

所有类名必须是大小写敏感的

2、当根据完整的类名载入相应的文件

完整的类名中,去掉最前面的命名空间分隔符,前面连续的一个或多个命名空间和子命名空间,作为「命名空间前缀」,其必须与至少一个「文件基目录」相对应;

紧接命名空间前缀后的子命名空间必须与相应的「文件基目录」相匹配,其中的命名空间分隔符将作为目录分隔符。

末尾的类名必须与对应的以.php为后缀的文件同名。

自动加载器(autoloader)的实现一定不可抛出异常、一定不可触发任一级别的错误信息以及不应该有返回值。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容