NetBeans + PHP CodeSniffer プラグインのインストール

プログラム
プログラムPHP
スポンサーリンク

NetBeansは無償で使えるIDE(統合開発環境)です。NetBeansはプラグインを追加することにより機能を拡張できるのですが、その一つに、プログラムコードがコーディング規約に則っているかを自動チェックできる、PHP CodeSniffer(PHPコードスニファー)用のプラグインあります。
 

NetBeansに、PHP CodeSnifferプラグインを追加すれば、プログラムを書いているそばからコーディング規約に則っているかを自動チェックし、違反があればすぐに表示してくれます。

インストール先の構成

  • MacOS10.9.5
  • NetBeans8.0.1

インストールの流れは、まずPHP CodeSnifferの本体 phpcsコマンドをインストール、続いてNetBeansにプラグインを追加して、もろもろの設定をします。

PHP CodeSniffer のインストール

PEAR経由のインストールになりますので、まずはPEARをインストールしておきます。

sudo php /usr/lib/php/install-pear-nozlib.phar

 

続けて、PHP CodeSniffer(phpcs)をインストールします。

sudo pear install PHP_CodeSniffer

PEARの設定

そのまま phpcsコマンドを実行すると、PEARディレクトリにパスが通っていないためエラーが発生します。

phpcs -i

Warning: include_once(PHP/CodeSniffer/CLI.php): failed to open stream: No such file or directory in /usr/bin/phpcs on line 31

Warning: include_once(): Failed opening 'PHP/CodeSniffer/CLI.php' for inclusion (include_path='.:') in /usr/bin/phpcs on line 31

Fatal error: Class 'PHP_CodeSniffer_CLI' not found in /usr/bin/phpcs on line 34

 

そこで、PEARディレクトリにパスを通します。

sudo cp -ip /etc/php.ini.default /etc/php.ini
sudo chmod 644 /etc/php.ini
sudo vi /etc/php.ini
---(下記を変更 696行目付近)---------------------------
;include_path = ".:/php/includes"
 ↓
include_path = ".:/usr/lib/php/pear/"
------------------------------

 

エラーなく phpcsコマンドが実行できるようになります。

phpcs -i
The installed coding standards are MySource, PEAR, PHPCS, PSR1, PSR2, Squiz and Zend

NetBeans phpcsmdプラグインのインストール

NetBeansがインストールされていない場合は、ダウンロードサイトからインストーラーをダウンロードし、インストールしておきます。2014/9/25時点の最新バージョンは8.0.1でした。

NetBeansの[ツール]メニューから、[プラグイン]→[使用可能なプラグイン]タブを選択します。
netbeans-plugin

 

「phpcsmd」でプラグインを検索し、[インストール]をクリックします。
netbeans-phpcsmd

 

プラグインのインストールが終了すると、NetBeansの再起動を促されますので、
そのまま再起動します。
netbeans-reboot

 

NetBeansメニューから、[Preferences]→[PHP]→[PHPCSMD]タブを選択し、赤枠内を設定します。
netbeans-phpcsmd-setting

「General」はお好みで設定してください。上から4つチェックがおすすめです。

・try threading analysis
規約チェックをバックグラウンドで実行する

・check file on open
ファイルを開いた時に、規約チェックを実行する

・update on save
保存時に規約チェックを実行する

・show notification icon
規約チェック結果を、通知アイコンで表示する

・show annotations in error stripe
右側のストライプ部分にエラーを表示する

・also scan in non PHP projects
PHPプロジェクト以外で、規約チェックを実行する

「PHPCS」:チェックします

「--standard=」:コーディン規約を指定します。[show standards]ボタンをクリックすると、右どなりのプルダウンメニューで選択できます。

「show Warnings」:今回選択したZendのコーディング規約では、1行の長さが80文字を超えると、Warning表示されるため外しておきました。

 

試しに規約違反のコードを書いてみると、違反している行を赤で表示してくれました。
netbeans-phpcsmd-sample

1行目は、変数名がキャメルケースになっていない、3行目は、if と ( の間に半角スペースがないことで、規約違反となっています。

 

PHP CodeSnifferは基本的にはコマンドラインで使うため、ある程度プログラムを書き終えてからチェックを実行し、エラーがあればコードを修正といった流れになります。
NetBeans+PHP CodeSnifferプラグインを使えば、コーディング規約に則っているかをチェックしながらプログラミング作業ができますので、プログラミング作業を終えれば、コーディング規約対応も完了!といったことができるのではないでしょうか

コメント

タイトルとURLをコピーしました