otgs / phpcs-diff
Requires
- php: ^7
- dealerdirect/phpcodesniffer-composer-installer: 1.0.0
- otgs/toolset-coding-standards: dev-master
- sebastian/diff: ^3.0
- sirbrillig/phpcs-variable-analysis: ^2.1
- slowprog/composer-copy-file: ~0.2
- squizlabs/php_codesniffer: 3.*
- ulrichsg/getopt-php: 3.2.1
- wp-coding-standards/wpcs: *
This package is auto-updated.
Last update: 2024-09-24 14:06:13 UTC
README
本项目的目的是提供一个在版本控制系统存储的文件上运行PHP CodeSniffer(即PHPCS)检查的方法,并报告仅在特定修订版中引入的问题。
仅报告特定修订版的新问题,在PHPCS在开发周期后期引入且没有资源清理所有现有问题时可能很重要。
安装和使用该工具的方法有多种。
独立
您可以从命令行运行 phpcs-diff 而无需其他要求,只需要 PHP 和 Composer。
安装
git clone https://github.com/zaantar/phpcs-diff.git phpcs-diff
cd phpcs-diff
composer install --no-dev
使用
从您要检查的 git 仓库目录中运行脚本。
../phpcs-diff/bin/phpcs-diff [options]
功能选项
-
--start_revision=<arg>
:第一个(较旧的)修订号/提交哈希。 -
--end_revision=<arg>
:第二个(较新的)修订号/提交哈希。如果未提供此参数,将使用工作目录中的未提交更改。 -
--tolerance[=<arg>]
:将容忍的最后一级问题。接受值为 blockers | warnings | notes | none。 -
--standard[=<arg>]
:要使用的 phpcs 标准的名称,例如:WordPress、WordPress-VIP、WordPress-Core、WordPress-Docs、WordPress-Extra、VariableAnalysis 或 Toolset。它也可以是配置文件的路径,例如./phpcsdiff.xml
。如果您省略此参数,将使用默认配置文件。
-
--sniff_unstaged
:检查工作目录中的未提交更改与最新提交(HEAD)的对比。在此情况下,将忽略--start_revision
和--end_revision
。
输出选项
-
--log_level[=<arg>]
:通过传递从 0(最详细)到 2(最不详细,仅错误)的数字来控制详细程度。 -
--ignore_space_changes
:当使用 git 生成 diff 时,将忽略空白更改。 -
--no_colours
:打印问题列表时不使用彩色输出。 -
--colourt_primary=<arg>
,--colour_secondary=<arg>
:指定问题列表的主要和次要颜色。 接受值默认,黑色,红色,绿色,黄色,蓝色,品红色,青色,亮灰色,暗灰色,亮红色,亮绿色,亮黄色,亮蓝色,亮品红色,亮青色,白色
如果使用
--no_colours
,则忽略这些参数。
限制
- 不支持 Subversion。
- 只能用于当前目录中的 git 仓库。
输出
脚本将打印找到的问题,如果发生任何未忽略的当前容忍级别的问题,则设置退出代码。
作为 wp-cli 命令
此仓库也是一个 WordPress 插件,当激活时,提供了一个 WP-CLI 命令 phpcs-diff
。
先决条件
除了一个正常工作的 WordPress 安装外,您还需要安装 WP CLI,因为您只能通过 WP CLI 与插件交互。
安装
- 将此存储库检查到您的插件目录。
- 在存储库根目录中运行
composer install --no-dev
。 - 通过标准的WordPress管理界面激活插件。
使用
示例命令运行
wp phpcs-diff --vcs="svn" --repo="hello-dolly" --start_revision=99998 --end_revision=100000
有关命令的更多参数,请运行 wp help phpcs-diff
或 直接查看内联文档。
配置
PHPCS
如果运行PHPCS命令的默认值与您的环境不匹配(见 https://github.com/Automattic/phpcs-diff/blob/master/class-phpcs-diff.php#L5 ),您需要通过位于WordPress安装的wp-config.php中的常量来覆盖这些值
define( 'PHPCS_DIFF_COMMAND', 'phpcs' ); define( 'PHPCS_DIFF_STANDARDS', 'path/to/phpcs/standards' );
SVN
最初,此工具仅与Subversion一起工作,但该功能现在已经相对边缘化。请报告您缺少的SVN功能或错误。
注意:除此之外,您还需要提供插件SVN凭据。这可以通过将以下常量放入WordPress安装的wp-config.php
文件中完成
define( 'PHPCS_DIFF_SVN_USERNAME', 'my_svn_username' ); define( 'PHPCS_DIFF_SVN_PASSWORD', 'my_svn_password' );