1

PHP CodeSniffer は、PHP ソース コードをチェックするのに役立つ非常に優れたツールです。しかし、CodeSniffer からのレポートは読みにくいものです。

CodeSniffer が 'Checkstyle' xml レポートを出力できることがわかりました。すべての開発者がコードを読み、1 ページでレポートできるように、Checkstyle xml レポートで PHP コードを視覚化する方法はありますか?

実際、私は phpUnderControl という名前のツールを見つけました。これは非常に優れた継続的インテグレーション ツールのように見え、その中の何かが私の要件を満たしている可能性があります。しかし、継続的インテグレーション ツールを変更する予定はありません (Apache Continuum を使用しています)。

簡単なツールやプラグインがあれば教えていただけると助かります。

ありがとう。

4

1 に答える 1

1

これは実際にはコメント/質問ですが、SOは長すぎると思うので、答えとして言います:

次のような出力を取得したいとします。

$ phpcs --report=checkstyle /path/to/code

<?xml version="1.0" encoding="UTF-8"?>
<checkstyle version="1.0.0">
 <file name="/path/to/code/myfile.php">
  <error line="2" column="1" severity="error" message="Missing file doc comment" source="PEAR.Commenting.FileComment"/>
  <error line="20" column="43" severity="error" message="PHP keywords must be lowercase; expected &quot;false&quot; but found &quot;FALSE&quot;" source="Generic.PHP.LowerCaseConstant"/>
  <error line="47" column="1" severity="error" message="Line not indented correctly; expected 4 spaces but found 1" source="PEAR.WhiteSpace.ScopeIndent"/>
  <error line="47" column="20" severity="warning" message="Equals sign not aligned with surrounding assignments" source="Generic.Formatting.MultipleStatementAlignment"/>
  <error line="51" column="4" severity="error" message="Missing function doc comment" source="PEAR.Commenting.FunctionComment"/>
 </file>
</checkstyle>

元のソース コードのバージョンを表示し、指定されたセクションを何らかの方法で強調表示すると、「自分で作成する」必要があると思います。

コード リポジトリ内のソース ファイルへのパスを入力パラメータ (例: path/to/code) として受け取り、"checkstyle" XML のチャンクを入力 (STDIN 経由) として受け取り、レンダリングするスクリプトを作成する必要があります。 HTML マークアップとしてのファイルの内容 (STDOUT へ)。

内部のファイルの本文は PRE 要素内にある必要があり (フォーマットを維持するため)、指定された各行 + エラー/警告「リスト要素」への HREF リンクを含む列は、HTML ページの下部にあります (私はそうではありません)。 PRE 要素内で機能する追加の色/強調表示の種類を確認してください)。

これは良い考えです - 私はそのようなスクリプト/ツール/ユーティリティを自分で持ちたいです! もし私がこれを書く機会があれば、Github で公開し、ここにリンクを追加することを約束します。

そして、あなたがそれを見つけたり書いたりしたことがあるなら、あなた自身の質問に答えてください.OK?

于 2011-10-18T01:37:20.957 に答える