taptima/phalyfusion

用于组合多个PHP静态代码分析器输出的实用工具。

安装: 13,156

依赖者: 0

建议者: 0

安全: 0

星级: 36

关注者: 5

分支: 3

开放性问题: 3

类型:application

dev-master 2021-09-21 03:17 UTC

This package is auto-updated.

Last update: 2024-09-21 10:02:13 UTC


README

Latest Stable Version Latest Unstable Version License

Phalyfusion 是一个工具,方便有效地使用多个PHP静态代码分析器和QA工具。它运行分析器,组合其输出,并以多种格式生成单个输出

  • 漂亮的PHPStan-like表格控制台输出,按文件分组错误。
  • Checkstyle
  • Json

当前支持的分析器和工具

目录

工作原理

例如,项目中需要phpstan、phan和phpmd。然后分析器输出看起来像这样(例如phan)

Phan output

Phalyfusion 结合所有分析器和QA工具的输出,按文件分组,并按行号排序。生成的输出如下

Phalyfusion output

安装

composer require --dev taptima/phalyfusion dev-master

Composer 将在它的 bin-dir 中安装 Phalyfusion 的可执行文件,默认为 vendor/bin

分析器应该单独安装。

使用

安装 Phalyfusion 后,您需要在项目根目录中创建 phalyfusion.neon 配置文件。

配置示例

plugins:
    usePlugins:
        - phan
        - phpstan
        - psalm
        - phpmd
        - php-cs-fixer

    runCommands:
        phan:           bin/phan -k .phan/config.php
        phpstan:        bin/phpstan analyse -c phpstan.neon --level 7
        psalm:          bin/psalm -c psalm.xml
        phpmd:          bin/phpmd src text cleancode
        php-cs-fixer:   "bin/php-cs-fixer fix --config=.php_cs"

usePlugins 中提供您要使用的分析器(插件)的名称。选择: phanphpstanpsalmphpmdphp-cs-fixer。提供运行指定分析器的命令行。路径相对于当前工作目录解析(您运行 Phalyfusion 的目录)

  • 请注意,每个分析器都应该单独安装和配置。
  • 所有受支持的单个分析器参数和选项都可以在相应的命令行(runCommands)中使用
  • 分析器的输出格式被覆盖。要选择Phalyfusion输出格式,请在运行时使用--format选项。
  • 如果将文件路径参数传递给Phalyfusion,则不保证覆盖分析器的文件路径参数。
  • 不要在runCommands中声明路径/文件选项/参数,使用Phalyfusion的路径参数或将其配置在配置中。

使用

配置工具和所有使用的分析器后,运行Phalyfusion。

$ php phalyfusion analyse [options] [--] [<files>...]

analyse 是默认命令,用于运行所有连接的插件,因此指定它是可选的。最简单的运行命令如下

$ php phalyfusion
$ php phalyfusion analyse

输入 $ php phalyfusion analyse --help 以显示所有可用选项和参数。

参数

files 参数是包含要分析源代码的文件路径。使用空格分隔多个,不要传递目录。默认情况下,将使用phalyfusion.neon中的runCommands中声明的命令行文件路径。

选项

-c--config 选项是neon配置文件的路径。默认情况下使用项目根目录中的 phalyfusion.neon

-f--format 选项用于输出格式。支持的格式是 table(默认),jsoncheckstyle

-p--no-progress 选项用于禁用进度条。

贡献

请参阅 CONTRIBUTING 文件。