一个用于自动化PHP代码检查的工具,可以作为git pre-commit钩子使用。

安装: 283

依赖项: 0

建议者: 0

安全性: 0

类型:应用

2.0 2017-12-15 07:19 UTC

This package is auto-updated.

Last update: 2024-09-10 05:10:43 UTC


README

CLI工具,用于运行PHP代码检查,可以作为git pre-commit钩子使用。

请参阅下面的使用部分。

安装

安装composer

curl -LsS https://getcomposer.org.cn/installer -o composer-setup.php
php composer-setup.php && rm composer-setup.php
mkdir -p ~/.local/bin
mv composer.phar ~/.local/bin/composer
sudo ln -sf ~/.local/bin/composer /usr/local/bin/composer

安装PHP Code Checker

composer global require alfonsomthd/phpcc
sudo ln -sf $(composer global config --absolute vendor-dir 2>/dev/null)/alfonsomthd/phpcc/phpcc /usr/local/bin/phpcc

配置

以下任务将被执行

  • 语法检查(lint)。
  • 使用php-cs-fixer进行代码风格修复。
  • 在检查暂存区文件时,如果有任何测试,则使用PHPUnit执行测试。
  • 使用phpmd进行代码分析。

如果您想覆盖默认配置,请在项目根目录中创建一个名为phpcc.json的文件,具有以下结构(以下为带有默认配置值的示例)

{
    "ignore": [],
    "checks": {
        "php-cs-fixer": {
            "rules": "@PSR2,@PSR1,-psr0",
            "fix": true
        },
        "phpmd": {
            "ruleset": "",
            "minimumpriority": 2
        },
        "phpunit": {
            "config-file": "",
            "allow-display": true
        }
    }
}

配置字段

  • ignore

    与git类似,您可以通过在此字段中添加相对路径来忽略文件/文件夹。您还可以使用前缀!来否定路径,不忽略文件/文件夹。

    例如,以下配置忽略除目录srctests以外的所有项目

      "ignore": [".", "!src", "!tests"]
    
  • checks

    • php-cs-fixer

      • rules: 如果未设置,将使用默认值(见上方示例)。有关允许的值,请参阅php-cs-fixer文档。
      • fix: 如果未设置,默认值为true,仅当在git暂存区检查文件时。选项--fix-cs会覆盖所有其他设置。
    • phpmd

      • ruleset: 规则集文件名的相对路径,或以逗号分隔的规则集文件名字符串。如果未设置,将使用phpcc规则集phpmdRuleSet.xml。有关phpmd已提供的规则集文件名,请参阅phpmd文档。
      • minimumpriority: 如果未设置,将使用默认值(见上方示例)。请参阅phpmd文档。
    • phpunit

      • config-file: phpunit.xml的相对路径。如果您想生成一个新的配置文件,请运行
          phpunit --generate-configuration
        
      • allow-display: false以禁用进度显示。默认允许。在出错的情况下,此设置将被忽略,并将显示所有输出。

使用方法

工具必须在项目根目录中运行(包含您的项目composer.json的目录)

cd <YOUR_PROJECT_ROOT_DIRECTORY>

显示帮助信息

phpcc -h

要检查文件或目录,将其作为第一个参数传递(例如)

phpcc src

检查文件或目录,修复代码风格错误

phpcc src --fix-cs

要检查git暂存区的PHP文件

phpcc

要在git pre-commit时运行,请执行以下操作

ln -sf /usr/local/bin/phpcc .git/hooks/pre-commit