php 标准,PHP 标准规范

PHP 标准规范

PSR

PSR 简介

PSR 是 PHP Standard Recommendations 的简写,由 PHP FIG 组织制定的 PHP 规范,是 PHP 开发的实践标准。

PHP FIG,FIG 是 Framework Interoperability Group(框架可互用性小组)的缩写,由几位开源框架的开发者成立于 2009 年,从那开始也选取了很多其他成员进来(包括但不限于 Laravel, Joomla, Drupal, Composer, Phalcon, Slim, Symfony, Zend Framework 等),虽然不是「官方」组织,但也代表了大部分的 PHP 社区。

项目的目的在于:通过框架作者或者框架的代表之间讨论,以最低程度的限制,制定一个协作标准,各个框架遵循统一的编码规范,避免各家自行发展的风格阻碍了 PHP 的发展,解决这个程序设计师由来已久的困扰。

PSR 标准内容

状态

序号

标题

撰稿者

协调者

发起人

X

0

Matthew Weier O'Phinney

N/A

N/A

A

1

Paul M. Jones

N/A

N/A

A

2

Paul M. Jones

N/A

N/A

A

3

Jordi Boggiano

N/A

N/A

A

4

Paul M. Jones

Phil Sturgeon

Larry Garfield

D

5

Mike van Riel

Vacant

Vacant

A

6

Larry Garfield

Paul Dragoonis

Robert Hafner

A

7

Matthew Weier O'Phinney

Beau Simensen

Paul M. Jones

D

8

Larry Garfield

Vacant

Paul M. Jones

D

9

Lukas Kahwe Smith

Korvin Szanto

Larry Garfield

D

10

Lukas Kahwe Smith

Larry Garfield

Korvin Szanto

D

11

Matthieu Napoli, David Négrier

Paul M. Jones

Vacant

D

12

Korvin Szanto

Alexander Makarov

Robert Deutz

D

13

Larry Garfield

Matthew Weier O'Phinney

Evert Pot

说明: A (Accepted) = 已通过 | D (Draft) = 起草中 | R (Review) = 审查中 | X (Deprecated) = 已废弃。

PSR 解决的3个问题

AUTOLOADING

​ 在此之前,各个框架或厂商各自做自己的自动加载,有的使用 void __autoload ( string $class ) 有的使用 bool spl_autoload_register() 各自命名空间和文件目录对应规则不一致,需要熟悉各个框架和类库的自动加载机制才能顺利使用。

​ 有了统一的自动加载规范(统一的命名空间与文件路径映射规范)之后,只需要遵循同一个自动加载机制就可以使用各个框架和类库,甚至不用知道他们内部具体如何实现自动加载。

具体 PSR 标准有:

INTERFACES

​ 在此之前,没有一些统一的规范接口,同样的功能(例如Log)各个框架或类库都自己实现,一致都在重新制造轮子,有了一些统一的接口,只要一个厂商或框架实现了统一接口,其它厂商或框架不需要重新实现,直接使用即可。

具体 PSR 标准有:

CODING STYLES

​ 有了统一编码风格规范,更有利于查看和学习各个框架或类库,不不需要每次都适应新的编码风格。

同时在开发团队内部使用统一的编码规范更有利于代码审查、版本控制、团队内部交流。

具体 PSR 标准有:

辅助工具

phpcs

PHP Code Sniffer 简称 phpcs ,主要用来检查 PHP 代码是否符合 PSR-2 的标准。如果 PHP 代码中存在不符合 PSR-2 标准的部分,会产生一份错误报告,便于我们检查哪些代码不符合标准。

安装

composer global require 'squizlabs/php_codesniffer=*'

bVbcfVG?w=644&h=193

测试

phpcs --version

bVbcfVL?w=647&h=148

使用

phpcs --standard=PSR2 PHP文件(或目录)

bVbcfVP?w=641&h=473

注意 phpcs 默认使用的编码风格标注是 PEAR ,所以如果要检查 PSR-2 标准需要明确指定(--standard=PSR2)。

检查 phpcs 支持哪些编码规范

phpcs -i

bVbcfVL?w=647&h=148

详细操作

php-cs-fixer

PHP Coding Standards Fixer 简称 php-cs-fixer, 可以用来帮我修正代码编码风格使其符合 PSR-2 规范。

安装

composer global require friendsofphp/php-cs-fixer

bVbcfVV?w=643&h=647

测试

php-cs-fixer --version

bVbcfVW?w=643&h=169

使用

php-cs-fixer fix php /path/to/dir(or /path/to/file)

bVbcfVr?w=645&h=220

详细操作

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值