skillup

技術ブログ

PHP

phpmdによるコードチェック

投稿日:

現在のプロジェクトですが、コードレビューなどをされる環境にはないため、一人で書いていると自然と規約とずれた書き方になっていることもあります。

規約通りに書こう、書こうと思っていてもなかなかその通りに書くことは大変です。そんな時はコードレビューを自動でチェックしてくれるツールなどを使うのが便利です。phpにはphpmdというツールがあり実装上の問題点などを検出してくれるツールです。

インストール

以前はpearなどでインストールもできていましたが、現在ではcomposerを使ってinstallをすることが一般的でしょう。

下記のようにcomposer.jsonにかいてアップロードすることが一般的です。

composerに書いて、installすればvendorの下には入ります。ただpathをとおすために下記のようにシンボリックリンクを張ると便利です。

使い方

あとは実際のコードのチェックを行います。

コマンドの意味ですが、

phpmd チェックしたいPHPファイルパス [レポートフォーマット(text or xml or html)] [チェック項目 カンマ区切りで複数可能]

具体的なチェック項目ですが、下記のような意味です。

  • cleancode: elseを使わず、staticアクセスしないなどを検知するツール
  • codesize:循環的複雑度などコードサイズ関連部分を検出するルール
  • controversial:キャメルケースなど議論の余地のある部分を検出するルール
  • design:ソフトの設計関連の問題を検出するルール
  • naming:長すぎたり、短すぎたりする名前を検出するルール
  • unusedcode:使われていないコードを検出するルール

上記では全て入れていますが・・・コマンドを実行すると下記のようなメッセージが出力されます。

参考リンク

phpmdについて

http://qiita.com/yuji0602/items/28b0c2363bae8fce055a

phpmd公式

https://phpmd.org/

シンボリックリンクについて

http://eng-entrance.com/linux-command-ln#ln

-PHP
-

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

no image

ob_startを使ったバッファリング出力

先日var_dumpの結果をログに出力したいときに検索すると下記のようなコードを書けばよいということがわかりました。

ob_start …

no image

CakePHPのcomponent

CakePHPのComponentについて。 CakePHPでは各コントローラに共通の処理をComponentとしてモジュール化することができます。 わかりやすいところでいえば認証のAuth,Sess …

no image

Angularでのイベント+改行+echoでのバッファサイズ変更

Contents1 Angularのイベント処理2 Angularでの改行ネタ3 echoでのバッファサイズ変換 Angularのイベント処理 Angularを使っていて楽なのはHTMLタグにインベン …

no image

PHPの無名関数+array系の関数

PHPの無名関数について。 PHP5.3.0以降で実装され、概念としては知っていましたが、あまり使ったことがありませんでした。 今開発しているPHPの案件で無名関数のソースをみたので、復習もかねてメモ …

no image

Basic認証のあるページの情報の取得

ひさびさにPHPネタです。 PHPではWEBページを保存するときにfile_get_contents(url)と書いてあげるとHTMLデータを取得できます。 が、Basic認証などのページは当然fal …