本稿では、PHP_CodeSnifferのDockerイメージをPhpStormに統合して、phpcsの解析結果をPhpStorm上で確認できるようにする設定手順を解説する。Dockerイメージを使わない方法の解説は『Mac版PhpStormにPHP CodeSnifferを統合する方法』を参照。
phpcsをPhpStormに統合したときに表示されるようになる忠告の例
 
設定手順
phpcs用のリモートインタプリタを足す
インタプリタとはPHPの実行環境のこと。リモートインタプリタとは、PhpStormが動いているOS以外のPHP実行環境のこと。ここでは、Dockerコンテナ内のphpコマンドのことを指す。phpcsはコンテナ内で起動させる必要があるため、インタプリタの設定をまず行う。
設定を開き、「Languages & Frameworks」→「PHP」で「CLI Interpreter」にDockerイメージを指定したいので「・・・」ボタンを押す:
 
「CLI Interpreters」ウィンドウで「+」を押して「Configure Remote Interpreters」の画面を出す。入力は以下図のとおり行う。「Image name」にはphpqa/phpcs:3.2.3をコピペ。
 
「OK」を押すと、2,3秒して下記図のようにインタプリタが追加された画面が出る。「Visible only for this project」のチェックを外す。そして「OK」を押して閉じる。
 
phpcsの設定をする
「Code Sniffer」の設定画面で「・・・」ボタンを押す:
 
先程追加したインタプリタを選ぶ:
 
「Validate」して問題なければ「OK」を押す:
 
Inspectionsの設定でPHP Code Snifferを有効化する
ここでは下記の2とおりの設定方法を紹介する。
- PSR2のコーディング標準を使う場合
- 独自のコーディング基準設定ファイルphpcs.xmlを使う場合
必要に応じて設定方法を選択してほしい。
1. PSR2のコーディング標準を使う場合
設定の検索窓で「Code Sniffer」を入れ、「Editor」→「Inspections」の「PHP Code Sniffer validation」を探し、それにチェックを入れる。「Severity」(警告度)は「Warning」に変える。「Coding Standard」は「PSR2」にする。
 
2. 独自のコーディング基準設定ファイルphpcs.xmlを使う場合
設定の検索窓で「Code Sniffer」を入れ、「Editor」→「Inspections」の「PHP Code Sniffer validation」を探し、それにチェックを入れる。「Severity」(警告度)は「Warning」に変える。
「Coding Standard」は「Custom」にし、「Custom Coding Standard」ウィンドウを開いたら、「Path to ruleset」にXMLのパスを指定する。ファイル名がphpcs.xmlでプロジェクトルートに置いてある場合は、/opt/project/phpcs.xmlを指定する。この/opt/project/はDockerコンテナ内でのパスだ。
 
