PHP代码修正之CodeSniffer

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

参考连接

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

介绍

PHP_CodeSniffer 是一个代码风格检测工具。它包含两类脚本,phpcsphpcbfGitHub地址laravel

phpcsgit

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

phpcbfwindows

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

php-cs-fixer

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

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

使用

命令行模式

  1. phpcsphpcbf 的目录加入环境变量
  2. 设置默认代码标准

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

    phpcs --config-set default_standard PSR2
    phpcbf --config-set default_standard PSR2
  3. 检测代码文件

    phpcs test.php

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

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

    phpcs --standard=PSR2 test.php
  4. 修正代码

    phpcbf test.php

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

PHPStorm

让编辑器使用PSR-2标准

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

clipboard.png

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

Composer全局的vendor目录\bin\phpcs.bat

clipboard.png

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

clipboard.png

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

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

若是每次都在终端去执行花费时间可很多,为了提升工做效率,能够在PhpStorm集成phpcbf、phpcs检测规范的功能

设置路径:Tools -> External Tools

集成phpcbf

clipboard.png

  • 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 中进行添加快捷键操做

相关文章
相关标签/搜索