2011-12-29 5 views
1

PHPCodeSniffer가 HTML 보고서를 생성합니까?PHPCodeSniffer HTML 보고서?

그렇지 않다면? 방법?

현재 PHPCodeSniffer를 실행할 수 있지만 XML 파일 만 생성하고 결과를 터미널에 표시합니다.

phpunit의 범위 및 단위 테스트 보고서와 같은 HTML 보고서를 생성하려면 어떻게해야합니까?

현재 PHPCheckStyle은 HTML 보고서를 생성하므로 PHPCheckStyle을 사용하지만 어떤 것이 가장 적합한 지 PHPCodeSniffer를 시도하고 싶습니다.

+0

에 결과를 표시 : 그냥 따라 --help를 사용합니다. 필자가 말한 것은 PHPCodeSniffer가 HTML 보고서를 생성하지 않는다면 HTML 보고서를 생성 할 수있는 방법은 무엇입니까? 아니면 그냥 그 기능을 지원하는 미래의 버전을 기다릴 것인가 ... 나는 그 잘못된 질문에 사과드립니다. –

+0

사실이 질문에 대한 답변이있는 http://stackoverflow.com/questions/1831535/how-can-i-convert-php-code-sniffer-xml-report-into-html의 사본입니다. – markus

답변

3

다른 해결책 (가장 간단한 방법은 아님)은 연속 통합 시스템을 사용하여 PHP 코드 스니퍼 통합을 제공하는 것입니다.

예를 들어, phpUnderControl은 보고서를 볼 수있는 멋진 인터페이스를 제공합니다.

phpUnderControl

2

HTML보고가 아직 제공되지 않습니다. 그러나 일을 끝내기위한 해결 방법이 있습니다.

보고서를 XML로 내보내고 DOM Parser로 데이터를 읽고 사용자가 직접 HTML 버전을 생성 할 수 있습니다. Here is a quick tutorial to get you started.

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 
) { 
    ... 
    } 
} 

것은 당신의 웹 서버에서 실행하는 경우 PHP_CodeSniffer.getFilesErrors() 방법은 당신에게 보고서를 생성하는 데 필요한 모든과 오류의 좋은 배열을 제공합니다.

-1

HTML보고 나를 위해 노력하고 있습니다.

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

그 질문에 대한 죄송합니다 index.html을

+0

생성기는 HTML로 보고서를 생성하지 않고 규칙에 대한 문서를 작성하는 데 사용됩니다. doc : https://github.com/squizlabs/PHP_CodeSniffer/wiki/Usage "HTML", "Markdown"또는 " 텍스트 "생성기 (확인 대신 문서 생성) 지금은 보고서를 사용할 수 있지만 HTML은 지원하지 않습니다. "전체 ","xml ","checkstyle ","csv "중 하나를 인쇄하십시오. "json "," junit ","emacs ","source ","summary ","diff " "svnblame ","gitblame ","hgblame "또는"notifysend "보고서 –