alex-plop / phpcs-diff
基于git diff检测定义的编码标准违规。
Requires
- php: ^7.1 || ^7.3 || ^7.4 || ^8.0
- ext-gettext: *
- ext-json: *
- league/climate: ^3.4
- squizlabs/php_codesniffer: ^3.5.7
Requires (Dev)
- phpunit/php-code-coverage: ^9.2
- phpunit/phpunit: ^7.5.20 || ^8.5.21 || ^9.5.10
This package is not auto-updated.
Last update: 2024-09-26 14:10:58 UTC
README
这是 olivertapping/phpcs-diff 的分支。
安装
推荐通过 Composer 安装此库。
Composer
全局安装
在项目根目录下运行以下命令
composer global require alex-plop/phpcs-diff
手动安装
或者,您可以在 composer.json
文件中手动包含 alex-plop/phpcs-diff
的依赖项。例如
{ "require-dev": { "alex-plop/phpcs-diff": "^0.1" } }
然后运行 composer update alex-plop/phpcs-diff
。
Git Clone
您也可以下载 phpcs-diff
源代码,并将其链接到 /usr/bin
目录
git clone https://github.com/alex-plop/phpcs-diff.git
ln -s phpcs-diff/bin/phpcs-diff /usr/bin/phpcs-diff
cd /var/www/project
phpcs-diff master -v
用法
基本用法
将当前文件夹中暂存的文件和未暂存的文件与分支的HEAD进行比较。
phpcs-diff
将当前文件夹中暂存的文件与 . 进行比较。例如,master/main。
phpcs-diff <base-branch>
请注意
-v
标志是可选的。在处理过程中返回详细的输出。- 您必须在项目基本目录中定义
phpcs.xml
。
运行 phpcs-diff
后,可执行文件将返回类似于以下输出的内容
########## START OF PHPCS CHECK ##########
module/Poject/src/Console/Script.php
- Line 28 (WARNING) Line exceeds 120 characters; contains 190 characters
- Line 317 (ERROR) Blank line found at end of control structure
########### END OF PHPCS CHECK ###########
目前这是唯一支持的格式,但我将在不久的将来考虑添加其他格式(类似于 phpcs
)。
关于
phpcs-diff
基于git diff检测定义的编码标准违规。它使用 PHP_CodeSniffer 项目的 phpcs
。
此项目有助于实现以下目标
- 加快CI/CD管道的速度,只验证更改的文件,而不是整个代码库。
- 允许您将无法一次更改所有内容的旧代码库迁移到完全遵守编码标准。
此可执行文件通过仅检查与基本分支相比的更改行,与所有失败的违规行为进行对比,因此您可以确信任何新的或更改的代码都将符合。
这有望使您的代码库随着时间的推移而更符合该编码标准,也许您将找到资源最终更改所有内容,然后仅运行 phpcs
。
要求
phpcs-diff
的最新版本需要PHP版本5.6.0或更高版本。
此项目还依赖于内部使用 phpcs
通过 squizlabs/php_codesniffer
获取失败的违规行为的 squizlabs/php_codesniffer
。
最后,还安装了 league/climate
包。这是为了处理控制台输出,但这可能在未来的版本中删除。
贡献
有关信息,请参阅 CONTRIBUTING.md。