PHP_CodeSniffer 是一个代码风格检测工具。由两个PHP脚本的组成;
phpcs 脚本对 PHP、JavaScript、CSS 文件定义了一系列的代码规范(通常使用官方的代码规范标准,比如 PHP 的 PSR2),能够检测出不符合代码规范的代码并发出警告或报错(可设置报错等级)。
phpcbf 脚本能自动修正代码格式上不符合规范的部分。比如 PSR2 规范中对每一个 PHP 文件的结尾都需要有一行空行,那么运行这个脚本后就能自动在结尾处加上一行空行。
PHP_CodeSniffer是必不可少的开发工具,可确保您的代码保持干净和一致。
PHP_CodeSniffer需要PHP 5.4.0或更高版本,尽管单个嗅探可能还有其他要求,例如外部应用程序和脚本。有关这些要求的列表,请参见“配置选项”手册页。
如果您将PHP_CodeSniffer作为团队的一部分使用,或者正在CI服务器上运行它,则可能需要使用配置文件来配置项目的设置。
# Download using curl
curl -OL https://squizlabs.github.io/PHP_CodeSniffer/phpcs.phar
curl -OL https://squizlabs.github.io/PHP_CodeSniffer/phpcbf.phar
# Or download using wget
wget https://squizlabs.github.io/PHP_CodeSniffer/phpcs.phar
wget https://squizlabs.github.io/PHP_CodeSniffer/phpcbf.phar
# Then test the downloaded PHARs
php phpcs.phar -h
php phpcbf.phar -h
如果使用Composer,则可以使用以下命令在系统范围内安装PHP_CodeSniffer:
composer global require "squizlabs/php_codesniffer=*"
确保PATH中包含作曲家bin目录。默认值为~/.composer/vendor/bin/,但是您可以通过运行来检查需要使用的值composer global config bin-dir --absolute。
或者,squizlabs/php_codesniffer在composer.json文件中包含的依赖项。例如:
{
“ require-dev ”:{
“ squizlabs / php_codesniffer ”:“ 3. * ”
}
}
然后,您将能够从供应商的bin目录中运行PHP_CodeSniffer:
./vendor/bin/phpcs -h
./vendor/bin/phpcbf -h
您还可以下载PHP_CodeSniffer源代码,phpcs并phpcbf直接从Git克隆中运行和命令:
git clone https://github.com/squizlabs/PHP_CodeSniffer.git
cd PHP_CodeSniffer
php bin/phpcs -h
php bin/phpcbf -h