PHP推荐标准(PSR)
2016-05-06 18:04
549 查看
PSR是PHP Standards Recommendation的简称。
PSR-1: 基本的代码风格
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: 自动加载器
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: 自动加载器
相关文章推荐
- 一个关于if else容易迷惑的问题
- PHP5.2.*防止Hash冲突拒绝服务攻击的Patch
- 深入理解PHP之匿名函数
- JSP/PHP基于Ajax的分页功能实现
- 关于PHP通过PDO用中文条件查询MySQL的问题。
- 什么是设计模式
- PHP数据库长连接mysql_pconnect的细节
- Php Installing An Expansion
- php7 读取php.ini[4]
- 局域网与广域网接口标准
- PHP+Apache在Windows 9x下的安装和配置
- IIS 6 的 PHP 最佳配置方法
- 安装Apache和PHP的一些补充
- Linux Apache+MySQL+PHP
- 建立Apache+PHP+MySQL数据库驱动的动态网站
- PHP 5.3.0 安装分析心得
- apache 环境下 php 的配置注意事项
- web标准知识——从p开始,循序渐进