tiagohillebrandt/phpcs-diff

基于git diff检测代码规范违规。

3.0.0 2024-07-18 06:59 UTC

This package is auto-updated.

Last update: 2024-08-31 09:21:46 UTC


README

phpcs-diff基于git diff检测定义的代码规范违规。

Latest Stable Version Minimum PHP Version Software License GitHub Issues Total Downloads

要求

phpcs-diff的最新版本需要PHP版本7.3.0或更高。

此项目还依赖于squizlabs/php_codesniffer,该依赖用于通过phpcs获取失败的违规。

最后,还安装了league/climate包,用于处理控制台输出,但这个依赖可能在未来的版本中删除。

安装

Composer

如果您使用Composer,可以使用以下命令全局安装phpcs-diff

composer global require tiagohillebrandt/phpcs-diff

您也可以将phpcs-diff作为开发依赖项安装到您的项目中

composer require --dev tiagohillebrandt/phpcs-diff

或者,您也可以在您的composer.json文件中手动包含对tiagohillebrandt/phpcs-diff的依赖。例如

{
    "require-dev": {
        "tiagohillebrandt/phpcs-diff": "^3.0"
    }
}

然后您可以从vendor bin目录运行phpcs-diff

./vendor/bin/phpcs-diff

Git Clone

您还可以下载phpcs-diff的源代码,并创建到您的/usr/bin目录的符号链接

git clone https://github.com/tiagohillebrandt/phpcs-diff.git
cd phpcs-diff
php bin/phpcs-diff main -v

您也可以将到/usr/bin目录的符号链接添加到您的系统中

ln -s phpcs-diff/bin/phpcs-diff /usr/bin/phpcs-diff

入门指南

基本用法

phpcs-diff <current-branch> <base-branch> -v

在这个例子中,当前分支与main分支进行比较。phpcs-diff会执行以下diff语句:

git diff current-branch main

请注意

  • -v标志是可选的,在处理过程中提供详细输出。
  • current-branch参数是可选的。如果未指定,phpcs-diff将使用通过git rev-parse --verify HEAD获得的当前提交哈希值。
  • 默认情况下,phpcs-diff会在项目的根目录中查找ruleset.xml文件。要使用不同的规则集文件或标准,请使用--standard选项指定它。

运行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-diff允许您指定自定义编码标准和规则集文件以满足您的需求。例如,要使用预定义的标准如PSR-12,您可以运行

phpcs-diff --standard=PSR12 main

您可以在PHP_CodeSniffer的GitHub仓库中找到可用的标准列表。

要应用自定义规则集文件,只需使用

phpcs-diff --standard=phpcs.xml.dist main

这些选项可以让您根据特定的编码标准和项目需求自定义代码分析。

关于

phpcs-diff基于git diff检测定义的代码规范违规。它使用来自PHP_CodeSniffer项目的phpcs

此项目提供了以下好处:

  • 通过仅验证修改的文件而不是整个代码库来加速CI/CD管道。
  • 便于迁移遗留代码库,使代码库逐步符合编码标准,而不必承担一次性大量修改的风险。

此可执行文件通过检查与基本分支相比的更改行,对这些文件的失败违规进行检查。这确保了任何新或更改的代码都将符合规范。

随着时间的推移,这种方法将帮助您的代码库变得更加符合编码标准,您最终可能达到可以在整个代码库上运行phpcs的点。

Fork

本项目源自于 olivertappin/phpcs-diff 库。它被创建是为了确保更频繁的更新,因为原始仓库似乎已被遗弃。