alex-plop/phpcs-diff

该包的最新版本(0.1.0)没有提供许可信息。

基于git diff检测定义的编码标准违规。

0.1.0 2023-02-01 10:32 UTC

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