php phpmdを利用してソースコードのチェックを行う

php phpmdを利用してソースコードのチェックを行う

phpmdをインストールすればソースコードのチェックを行うことができます。ここではphpmdのインストール手順と簡単な使い方を記述してます。

環境

  • OS CentOS Linux release 8.1.1911 (Core)
  • PHP 7.4.5
  • Composer 1.10.5

※CentOs8 php7.4をインストールする手順はこちら
※CentOs8にcomposerをインストールする手順はこちら

phpmdインストール

Composerを利用してインストールします。

composer global require phpmd/phpmd

PATHを設定して、反映させます。

echo 'export PATH=$HOME/.composer/vendor/bin:$PATH' >> .bash_profile
source .bash_profile

バージョンを確認します。

phpmd --version

<出力結果>
PHPMD 2.8.1

コードチェック

phpmdを利用してコードチェックを行ってみます。

test.phpという名前で下記のファイルを作成します。

<?php
ini_set('display_errors', "On");
ini_set('mbstring.internal_encoding' , 'UTF-8');

function test(int $i){
    echo $i
}

test(1);
?>

チェックする項目は「codesize,controversial,design,naming,unusedcode」です。

phpmd test.php text codesize,controversial,design,naming,unusedcode

チェック項目意味は下記となります。

codesize : コードの大きさをチェック
controversial : 命名規則などのチェック
design : 設計関連のチェック
naming : 変数名などのチェック
unusedcode : 使っていない変数のチェック
cleancode : コードの美しさのチェック

実行結果は、下記となります。

/var/www/html/test.php  -       Unexpected token: }, line: 7, col: 1, file: /var/www/html/test.php.

echo $iの後ろにセミコロンがないため、チェックエラーとなりました。

セミコロンを付けて再度実行してみます。

echo $i;

今度は別チェックエラーが発生しました。変数名が短いと書いてあるので、$i を$valに変更します。

phpmd test.php text codesize,controversial,design,naming,unusedcode

<出力結果>
/var/www/html/test.php:5        Avoid variables with short names like $i. Configured minimum length is 3.

test.phpを変更

<?php
ini_set('display_errors', "On");
ini_set('mbstring.internal_encoding' , 'UTF-8');

function test(int $val){
    echo $val;
}

test(1);
?>

再度、実行します。

phpmd test.php text codesize,controversial,design,naming,unusedcode

これで、チェックエラーはなくなりました。