2

PHPCodeSniffer 是否生成 HTML 报告?

如果不?如何?

目前,我可以运行 PHPCodeSniffer,但它只生成 XML 文件并在终端中显示结果。

如何生成 HTML 报告,如 phpunit 中的覆盖率和单元测试报告。

目前我使用 PHPCheckStyle 因为它生成 html 报告,但我也想尝试 PHPCodeSniffer 以了解哪个是最好的。

4

4 回答 4

3

另一种解决方案(但可能不是最简单的)是使用提供 PHP 代码嗅探器集成的持续集成系统。

例如,phpUnderControl提供了一个很好的界面来查看报告。

phpUnderControl

于 2012-02-02T14:22:49.577 回答
2

尚未提供 HTML 报告。但是,有一种解决方法可以完成工作。

您可以将报告导出为 XML 并使用 DOM Parser 读取数据并自行生成 HTML 版本。这是一个快速教程,可帮助您入门。

于 2011-12-29T08:10:45.957 回答
2

实际上,编写自己的报告非常简单。

如果您从 CLI 运行,您可以使用独特的方法实现您自己的报告类,并从命令 ligne 调用它。对于名为 Xxx 的报告:

class PHP_CodeSniffer_Reports_Xxx implements PHP_CodeSniffer_Report
{ 

  /**
   * Prints all errors and warnings for each file processed.
   *
   * Errors and warnings are displayed together, grouped by file.
   *
   * @param array   $report      Prepared report.
   * @param boolean $showSources Show sources?
   * @param int     $width       Maximum allowed lne width.
   * @param boolean $toScreen    Is the report being printed to screen?
   *
   * @return string
   */
  public function generate(
      $report,
      $showSources=false,
      $width=80,
      $toScreen=true
  ) {
     ...
  }
}

如果您从 Web 服务器运行,该PHP_CodeSniffer.getFilesErrors()方法会为您提供一系列不错的错误,其中包含生成报告所需的所有内容。

于 2012-02-02T14:13:25.920 回答
-1

HTML 报告对我有用。只需根据 --help 使用:

phpcs src/AppBundle --generator=HTML > index.html

在 index.html 中显示结果

于 2016-11-30T10:49:38.590 回答