psr 2 php,PHP语言中的PSR-2及相关工具

PSR-2 是Coding Style Guide,表示 PHP 代码格式规范,PHP 语言流行的原因之一就是编写代码没有约束,长期以来 PHP 没有格式规范的,虽然以前也有 PEAR 标准的规范,但现在越来越不流行了。这时候 PSR-2 标准出现了,它的出现应该感谢 Packagist(The PHP Package Repositor) 和 命名空间的出现,PSR-2 成为了名义上的官方代码标准。

代码格式规范个人认为解决了两个问题,第一就是代码一致性,避免在写代码的时候为格式问题而费劲心思;第二就是可读性,让你的代码更容易被理解。代码格式规范虽然不是强制的,但却是编码过程中必不可少的一部分,另外代码格式规范和变量、函数、类、文件等命名规范不是一回事。

在代码格式规范中,个人觉得以下几方面比较重要,花括号的匹配形式、换行的处理艺术、 tab 键和空格的使用。

PHP CodeSniffer

PHP CodeSniffer 是 PHP 代码的分析工具,能够以特定的代码格式标准检测代码,建议你安装最新的版本,因为老版本是不支持 PSR-2 标准的。常用的几个命令:

phpcs -h

phpcs -version

phpcs -i #显示所有支持的代码标准

phpcs --extensions=php #仅仅检查 PHP 后缀的文件

phpcs --standard=psr2 file.php

phpcs --ignore=".gitignore",*/data/* /path/code

phpcs -e --standard=psr2

phpcs --standard=psr2 --sniffs=Generic.PHP.LowerCaseConstant #only run two sniffs over the code instead of all sniffs

phpcs --standard=psr2 --exclude=Generic.PHP.LowerCaseConstant #run all sniffs except for the two specificed

PHP Coding Standards Fixer

PHP CodeSniffer 只能检测代码出现什么格式问题,但是不能自动修复,而 PHP Coding Standards Fixer 却可以。另外请务必使用最新版本,查看使用方法也尽量在 Github 上看。

使用方法很简单:

php-cs-fixer fix /path/code --rules=@PSR2

php-cs-fixer fix /path/code --rules=@PSR2,strict_comparison

在使用过程中有个问题说明下,类似下面的代码,多余的空格是不能修复的,有谁知道如何处理,还请告之

$x = 10;

if ($x > 10) {

echo 'ok';

}

如何在 Netbeans 上支持 PSR-2 标准

在 Netbeans 是内置了一个 PHP 代码格式标准,假如需要使用 PSR-2 标准,需要安装 Netbeans-psr 插件,安装后可以在 【工具->选项->编辑器->格式设置】中调整具体的语法格式,可以看下面这张图。

![Netbeans 格式设置][netbeans_psr-2_1]

[netbeans_psr-2_1]: http://notes.newyingyong.cn/static/image/2017/netbeans_psr-2_1.png "Netbeans 格式设置"

设置后,可以对代码进行格式化,让代码符合 PSR-2 标准,也可以在 Netbeans 中配置保存代码的时候(CTRL+S)可以自动格式化,目前我使用的就是这种方式,感觉还不错。

在 Netbeans 中使用 php-cs-fixer 软件

可以在 Netbeans 中运行 php-cs-fixer 来格式化代码,首先要安装一个插件,注意不是在【工具->选项->PHP->编码标准修复程序】中进行配置,具体可以查看这个 issues。

第二个问题就是在使用这个插件的时候,要注意 Netbeans 版本、php-cs-fixer 版本、插件版本,为这个问题我还提了个 issues。

Submine Text 中使用 php-cs-fixer 软件

这个插件是一个综合的插件,安装并配置后,可以很方便的格式化代码。

{

"php_cs_fixer_on_save": false,

"php_cs_fixer_show_quick_panel": true,

"php_cs_fixer_executable_path": "C:\\vendor\\bin\\php-cs-fixer.bat",

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值