PHPMD導入

コード検証ツール。
次はPHPMD。(少し前にPHPCSの導入書きました。)

PHPMDとは、参考サイトによれば

phpmdはPHP Mess Ditectorの略で、PHPコードの潜在的なバグになりそうな箇所や実装上の問題を検出してくれるツールである。例えば未使用の変数の指摘、多数のpublicメソッドのある巨大クラスの検出、一文字変数等もこのツールで検出可能だ。

とのこと。

インストール

Composerを使います。ComposerはPHPCSの導入の際に入れたので手順は省略。

プロジェクトのフォルダにcomposer.jsonを作成し、以下を記述します。

composer.jsonは、依存するパッケージを定義するファイルとのこと。要は必要なパッケージファイルはプロジェクト単位で管理するってことなんでしょうかね。

以下のページに詳しい説明があります。

composer.json、composer.lockって何なの?という人向けのまとめ

今回はphpmdを使いたいのでphpmdのパッケージに関する記述をしています。

composer.jsonが準備出来たらターミナルでプロジェクトのフォルダに移動し、以下を実行。

composer.jsonの記述に基いて、プロジェクトフォルダのvendorの中にパッケージファイルがインストールされます。

使い方

コマンドは以下のような感じです。

phpmdはプロジェクトフォルダ内のvendorフォルダを参照しますので、具体的には以下の様な感じ。

実行結果

参考サイトのテストデータを拝借して動かしてみたところ、指摘事項はこんな風に表示されます。

ひとつ目は変数名がキャメルケースではないとの指摘。
ふたつ目はメソッド名がキャメルケースではないという指摘。
三つ目は使われていない変数の指摘ですね。

カスタマイズ

コマンドが長いので、PHPCSのときのようにエイリアスを作成しました。

.bash_profileに以下の文を追加します。

これで、以下のコマンドで実行できるようになります。チェックするルールはエイリアスのほうで固定で指定する感じです。

参考ページ

以下のページを参考にさせていただきました。
ありがとうございます。

PHPの静的コード解析ツール『PHPMD』を使ってみた。
PHPMDでコードの混乱を探知!
composer.json、composer.lockって何なの?という人向けのまとめ