本稿では、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コンテナ内でのパスだ。
