警告
这个存储库已被放弃。它的继任者是phpcsstandards/php_codesniffer
有关更多信息,请参见第3932号问题。
php_codesniffer是两个PHP脚本的集合;将PHP,JavaScript和CSS文件的主要phpcs
脚本用于检测违反已定义的编码标准的行为,以及第二个phpcbf
脚本以自动纠正编码标准违规行为。 php_codesniffer是一种必不可少的开发工具,可确保您的代码保持清洁和一致。
php_codesniffer需要PHP版本5.4.0或更高版本,尽管单个嗅探可能有其他要求,例如外部应用程序和脚本。有关这些要求的列表,请参见“配置选项手册”页面。
如果您使用php_codesniffer作为团队的一部分,或者在CI服务器上运行它,则可能需要使用配置文件来配置项目的设置。
开始使用php_codesniffer的最简单方法是为每个命令下载PHAR文件:
# 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系统范围:
作曲家Global需要“ Squizlabs/php_codesniffer =*”
确保您的路径中有作曲家bin dir。默认值为~/.composer/vendor/bin/
,但是您可以通过运行composer global config bin-dir --absolute
检查需要使用的值。
或者,在您的composer.json
文件中包括squizlabs/php_codesniffer
的依赖关系。例如:
{“ require-dev”:{“ squizlabs/php_codesniffer”:“ 3.*”} }
然后,您将能够从供应商bin目录运行php_codesniffer:
./vendor/bin/phpcs -h ./vendor/bin/phpcbf -h
如果使用Phive,则可以使用以下命令安装Php_codesniffer作为项目工具:
Phive安装PHPC Phive安装PHPCBF
然后,您将能够从工具目录运行php_codesniffer:
./tools/phpcs -h ./tools/phpcbf -h
如果使用梨,则可以使用梨安装程序安装php_codesniffer。这将使phpcs
和phpcbf
命令立即使用。要使用梨安装程序安装php_codesniffer,请首先确保已安装梨,然后运行以下命令:
梨安装php_codesniffer
您还可以下载php_codesniffer源,并直接从git克隆中运行phpcs
和phpcbf
命令:
git克隆https://github.com/squizlabs/php_codesniffer.gitcd php_codesniffer php bin/phpcs -H php bin/phpcbf -h
php_codesniffer使用的默认编码标准是梨编码标准。要根据梨编码标准检查文件,只需指定文件的位置:
phpcs/path/to/code/myfile.php
或者,如果您想检查整个目录,则可以指定目录位置而不是文件。
phpcs/path/to/code-directory
如果您想根据PSR-12编码标准检查代码,请使用--standard
命令行参数:
phpcs - 标准= psr12/path/to/code-directory
如果php_codesniffer找到任何编码标准错误,则在运行命令后将显示报告。
完整的用法信息和示例报告可在“使用”页面上找到。
PHP_CodesNiffer的文档可在GitHub Wiki上找到。
错误报告和功能请求可以在GitHub Disears Tracker上提交。
有关信息,请参见贡献。
php_codesniffer使用MAJOR.MINOR.PATCH
版本编号格式。
MAJOR
:
向后不兼容的更改是对phpcs
或phpcbf
命令的使用方式进行的,或
向后不兼容的更改是针对ruleset.xml
格式或
向后不兼容的更改是针对嗅探开发人员使用的API,或
自定义php_codesniffer令牌类型已删除,或
现有的嗅觉完全从php_codesniffer中删除
MINOR
版本会增加:
新的向后兼容的功能添加到phpcs
和phpcbf
命令中,或
向后兼容的更改是针对ruleset.xml
格式或
向后兼容的更改是针对嗅探开发人员使用的API,或
新的嗅觉被添加到包含的标准或
现有的嗅觉从随附的标准中删除
注意:嗅探开发人员使用的API的向后兼容更改将使现有的嗅探能够继续运行而不会产生致命错误,但可能不会导致嗅探报告与以前相同的错误而无需更改。
PATCH
:
向后兼容的错误修复了
注意:由于存在php_codesniffer用于报告和修复问题,因此大多数错误是编码标准错误错误报告或编码标准错误时未报告的标准错误的结果。这意味着Php_codesniffer产生的消息及其所做的修复程序可能在补丁版本之间可能有所不同。