PHP Code Sniffer 插件
介绍
PHP_CodeSniffer 是一个代码风格检测工具。它包含两类脚本,phpcs 和 phpcbf(GitHub地址:https://github.com/squizlabs/PHP_CodeSniffer)
phpcs
phpcs 脚本对 PHP、JavaScript、CSS 文件定义了一系列的代码规范(通常使用官方的代码规范标准,比如 PHP 的 PSR2),能够检测出不符合代码规范的代码并发出警告或报错(可设置报错等级)。
phpcbf
phpcbf 脚本能自动修正代码格式上不符合规范的部分。比如 PSR2 规范中对每一个 PHP 文件的结尾都需要有一行空行,那么运行这个脚本后就能自动在结尾处加上一行空行。
php-cs-fixer
该工具不包含在 PHP_CodeSniffer 中, 是在另一个独立的项目 https://github.com/FriendsOfPHP/PHP-CS-Fixer
php-cs-fixer 修复不规范代码 作用等同于 phpcbf 只不过规则好像稍有区别。
前置条件
composer安装
1、Code Sniffer 代码风格检测工具
composer global require "squizlabs/php_codesniffer=*"
2、phpmd可以用于检查和发现您PHP源代码中存在的问题
composer global require phpmd/phpmd
3、php-cs-fixer
composer global require friendsofphp/php-cs-fixer
sublime:
Ctrl+Shift+P
输入pi
搜code sniffer安装
安装之后,在sublime工具栏找到Preferences
package Setting-> php code sniffer ->setting User
如果window环境:
{
"phpcs_php_path": "D:\\phpStudy\\PHPTutorial\\php\\php-7.2.1-nts\\php.exe",
"phpcs_executable_path": "C:\\Users\\Administrator\\AppData\\Roaming\\Composer\\vendor\\bin\\phpcs.bat",
"phpcbf_executable_path": "C:\\Users\\Administrator\\AppData\\Roaming\\Composer\\vendor\\bin\\phpcbf.bat",
"phpmd_executable_path":"C:\\Users\\Administrator\\AppData\\Roaming\\Composer\\vendor\\bin\\phpmd.bat",
"php_cs_fixer_executable_path":"C:\\Users\\Administrator\\AppData\\Roaming\\Composer\\vendor\\bin\\php-cs-fixer.bat"
}
MAC:
{
"phpcs_php_path": "/usr/bin/php",
"phpcs_executable_path": "/Users/gan/.composer/vendor/bin/phpcs",
"phpmd_executable_path": "/Users/gan/.composer/vendor/bin/phpmd",
"php_cs_fixer_executable_path": "/Users/gan/.composer/vendor/bin/php-cs-fixer",
}
以上保存即可。
phpstorm:
1、
File->Setting->Language & Frameworks->PHP->Quality Tools->Code Sniffer
找到输入路径,C:\Users\Administrator\AppData\Roaming\Composer\vendor\bin\phpcs.bat
点击Validate验证
2、
File->Setting->Editor->Inspections
找到PHP->Quality tools->PHP Code Sniffer validation,设置Coding standard为指定规则(这里指定PSR2),保存即可
预览:
Visual Studio:
进入Visual Studio Code的扩展界面,在商店中搜索扩展phpcs,然后点击安装。phpcs扩展全称为PHP CodeSniffer for Visual Studio Code。
安装后,你的代码就会被提示语法是否符合编码规范,这就是PHP CodeSniffer的功能。