PHPCodeSniffer HTML报告?

时间:2011-12-29 06:44:32

标签: php reporting codesniffer

PHPCodeSniffer是否会生成HTML报告?

如果没有?怎么样?

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

如何制作HTML报告,如phpunit中的coverage和单元测试报告。

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

4 个答案:

答案 0 :(得分:3)

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

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

phpUnderControl

答案 1 :(得分:2)

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

您可以将报告导出为XML并使用DOM Parser读取数据并自行生成HTML版本。 Here is a quick tutorial to get you started.

答案 2 :(得分: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()方法会为您提供一系列错误,并提供生成报告所需的全部错误。

答案 3 :(得分:-1)

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

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

在index.html中显示结果