资讯专栏INFORMATION COLUMN

PHP代码修正之CodeSniffer

khs1994 / 2012人阅读

摘要:它包含两类脚本,和地址脚本对文件定义了一系列的代码规范通常使用官方的代码规范标准,比如的,能够检测出不符合代码规范的代码并发出警告或报错可设置报错等级。脚本能自动修正代码格式上不符合规范的部分。

Last-Modified: 2019年5月10日13:59:27

参考链接

PHP开发规范之使用phpcbf脚本自动修正代码格式

在PhpStorm中使用PSR2编码规范phpcbf脚本自动修正代码格式

使用 PHP-CS-Fixer 的可以看这篇文章: https://learnku.com/laravel/t...

介绍

PHP_CodeSniffer 是一个代码风格检测工具。它包含两类脚本,phpcsphpcbf(GitHub地址)

phpcs

phpcs 脚本对 PHPJavaScriptCSS 文件定义了一系列的代码规范(通常使用官方的代码规范标准,比如 PHPPSR2),能够检测出不符合代码规范的代码并发出警告或报错(可设置报错等级)。

phpcbf

phpcbf 脚本能自动修正代码格式上不符合规范的部分。比如 PSR2 规范中对每一个 PHP 文件的结尾都需要有一行空行,那么运行这个脚本后就能自动在结尾处加上一行空行。

php-cs-fixer

该工具不包含在 PHP_CodeSniffer 中, 是在另一个独立的项目 https://github.com/FriendsOfP...

php-cs-fixer 修复不规范代码 作用等同于 phpcbf 只不过规则好像稍有区别

安装
composer global require "squizlabs/php_codesniffer=*"

安装后会在全局的 Vendor目录下的 bin 中生成两个软链接:

phpcbf -> ../squizlabs/php_codesniffer/bin/phpcbf
phpcs -> ../squizlabs/php_codesniffer/bin/phpcs

查看全局 Vendor 目录位置:

composer global config bin-dir --absolute
使用 命令行模式

phpcsphpcbf 的目录加入环境变量

设置默认代码标准

为了避免每次手动指定标准, 直接设置默认的代码标准为 PSR-2

phpcs --config-set default_standard PSR2
phpcbf --config-set default_standard PSR2

检测代码文件

phpcs test.php

此时命令行会提示发现的问题列表, 带 [x] 的表示可以被 phpcbf 修正

若需要每次执行时指定代码格式标准, 则加上 –standard=

phpcs --standard=PSR2 test.php

修正代码

phpcbf test.php

此时会修正问题列表中带 [x] 的问题

PHPStorm 让编辑器使用PSR-2标准

1、打开PhpStorm的设置页(File->Setting),到Editor->Code Style->PHPPHP中选择风格为 PSR1/2

2、到Code Sniffer页,路径是Setting->Languages and Frameworks->PHP->Quality Tools->Code Sniffer,设置phpcs的路径

Composer全局的vendor目录inphpcs.bat

3、到Inspections页,路径Setting->Editor->Inspections,右侧的 PHP,勾选下面的两个 PHP,选择使用 PSR2

现在使用PhpStorm的格式化,将会自动格式化成psr-2的风格

经过上面的操作,PhpStorm代码格式化的规则基本与phpcs的规则基本一致了,但也有一小部分不一致,所以后面还要用到phpcsphpcbf

如果每次都在终端去执行花费时间可不少,为了提高工作效率,可以在PhpStorm集成phpcbf、phpcs检测规范的功能

设置路径:Tools -> External Tools

集成phpcbf

Program是你的PHP根目录下的文件,windows是.bat文件

Arguments--standard=PSR2 $FileDir$/$FileName$,记得指定代码标准

Working directory$ProjectFileDir$,也可以直接填

下面的Open console for tool output是指打印检测的信息到控制台上,phpcs检测的我们要看,phpcbf就不用了,所以不用勾选

怎么使用呢?

工具栏的Tools->External Tools就可以看到我们刚才添加的两个小工具,直接点击就可以用了

点击操作很麻烦, 那就加一个快捷键吧:

Settings -> Keymap -> External Tools -> phpcbf 中进行添加快捷键操作

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/31415.html

相关文章

  • PHP 系列:代码规范 Code Sniffer

    摘要:脚本对文件定义了一系列的代码规范通常使用官方的代码规范标准,比如的,能够检测出不符合代码规范的代码并发出警告或报错可设置报错等级。比如规范中对每一个文件的结尾都需要有一行空行,那么运行这个脚本后就能自动在结尾处加上一行空行。 showImg(https://segmentfault.com/img/remote/1460000011338137); 有些同学可能还没听过这东西,大概介绍...

    0xE7A38A 评论0 收藏0
  • PHP代码自动检测(git/svn集成PHP_CodeSniffer

    摘要:背景在公司开发的时候,每次不管还是提交代码的时候都会对代码进行简单的自动检测。并且明确告知文档不可能的。猜想应该自动代码检测肯定是集成在工程代码所在的服务端是最好的。写在最后通过了解代码的自动检测,发现了很多问题。 背景 在公司开发的时候,每次不管svn还是git提交代码的时候都会对代码进行简单的自动检测。检查不了代码逻辑,但是最起码能保证整体的编码格式保持一致。这个功能还是挺有用的,...

    CoderDock 评论0 收藏0
  • PHP 标准规范

    摘要:标准规范简介是的简写,由组织制定的规范,是开发的实践标准。具体标准有有了统一编码风格规范,更有利于查看和学习各个框架或类库,不不需要每次都适应新的编码风格。同时在开发团队内部使用统一的编码规范更有利于代码审查版本控制团队内部交流。 PHP 标准规范 PSR PSR 简介 PSR 是 PHP Standard Recommendations 的简写,由 PHP FIG 组织制定的 PHP...

    FuisonDesign 评论0 收藏0
  • PHP工具篇:PHPStorm IDE使用CodeSniffer代码规范化管理

    摘要:使用进行代码规范化管理是一个优秀的代码风格检测工具定义了一系列的代码规范通常使用官方的代码规范标准,比如的能够检测出不符合代码规范的代码并发出警告或报错可设置报错等级常被用作团队开发时维护编码风格以及标准。 PHPStorm IDE使用CodeSniffer进行代码规范化管理 PHP_CodeSniffer是一个优秀的代码风格检测工具,定义了一系列的代码规范(通常使用官方的代码规范标准...

    Jonathan Shieber 评论0 收藏0
  • atom和phpcs

    摘要:的编码规范虽然没有像那样集中,有这样的统一标准见我的这篇文章,但也是有规律可循的。最简单的莫过于直接使用,但是真的实在太弱了,所以目前业界比较流行的是使用,简称。在代码规范方面,没有所谓的个人喜好,而只有项目规范。所以目前以及都开始遵循。 php的编码规范虽然没有像javascript那样集中,有eslint这样的统一标准(见我的这篇文章),但也是有规律可循的。最简单的莫过于直接使用p...

    CntChen 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<