PSR是PHP Standards Recommendation的简称。
PSR-1: 基本的代码风格
PHP标签
必须把PHP代码放在<?php ?>
或 <?= ?>
标签中。不得使用其他PHP标签语法。
编码
所有PHP文件都必须使用UTF-8字符集编码,而且不能有字节顺序标记
目的
一个PHP文件可以定义符号(类、性状、函数和常量等),或者执行有副作用的操作(例如生成结果或处理数据),但不能同时做这两件事。
自动加载
PHP命名空间和类必须遵守PSR-4自动加载器标准。
类的名称
PHP类的名称必须一直使用驼峰式(CamelCase)。
常量的名称
PHP常量的名称必须全部使用大写字母。如果需要,可以使用下划线把单词分开。
方法的名称
PHP方法的名称必须一直使用camelCase这种驼峰式。也就是说,方法名的首字母是小写的,后续单词的首字母都是大写的。
PSR-2: 严格的代码风格
贯彻PSR-1
使用PSR-2代码风格之前先贯彻PSR-1代码风格。
缩进
PSR-2推荐规范要求PHP代码使用四个空格缩进。
文件和代码行
PHP文件必须使用风格的换行符(LF),最后要有一个空行,而且不能使用PHP关闭标签?>。每行代码不能超过80个字符,至少不能超过120个字符。每行末尾不能有空格。
关键字
PSR-2推荐规范要求,关键字都应该使用小写字母。
命名空间
每个命名空间声明语句之后必须跟着一个空行。类似地,使用use关键字导入命名空间或为命名空间创建别名时,在一系列use声明语句后要加一个空行。
类
PSR-2推荐规范要求,类定义体的起始括号应该在类名之后新起一行写。类定义体的结束括号必须在定义体之后新起一行写。如果类扩展其他类或实现接口,extends或implements关键字必须和类名写在同一行。
方法
方法定义体的括号位置和类定义体的括号位置一样:方法定义体的起始括号要在方法名之后新起一行写;方法定义体的结束符号要在方法定义体之后新起一行写。要特别注意方法的参数:起始圆括号之后没有空格,结束圆括号之前也没有空格。方法的每个参数(除了最后一个)后面有一个逗号和空格。
可见性
类中的每个属性和方法都要声明可见性。如果把类属性和方法声明为abstract或final,这两个限定符必须放在可见性关键字之前。如果把属性和方法声明为static,这个限定符必须放在可见性关键字之后。
控制结构
所有的控制结构关键字后面都要有一个空格。如果控制结构关键字后面有一对圆括号,起始圆括号后面不能有空格,结束圆括号之前不能有空格。与类和方法的定义体不同,控制结构关键字后面的起始括号应该和控制结构关键字写在同一行。控制结构关键字后面的结束括号必须单独写在一行。
PSR-3: 日志记录器接口
PSR-4: 自动加载器