PHP_CodeSniffer のインストール(composerで編)
2006年からのAppleファン、tanakaです。iPad Pro買いましたか? 発売日の翌日くらいまでに注文して、本体は3日で届きましたが、Apple Pencilとキーボードは3週間ほど待ちました。いまは10万円のメモ帳として活躍しています。(あと大画面を生かしたゲーム機として。ほかの用途はこれから探します)
さて、PHPCodeSnifferについては3年前にPhpStorm で CakePHP のコーディングスタイルを自動チェックするで紹介しました。PhpStorm9からは、リモート開発環境(Vagrantで構築した仮想マシンとか)にインストールされたPHPCodeSnifferを使ってチェックできる、ということで、設定してみたのですが、ホストOSにインストールした場合に比べて1秒くらい遅延したので、設定を戻しました。
今回は、MacとWindowsにPHP_CodeSnifferをインストールし、PhpStormに設定する手順を紹介します。
Mac編
PHP 7.0をインストールする
MacPortsを使っているので、そちらからインストールします。
sudo port install php70 php70-mbstring php_select
sudo port select php php70
sudo cp /opt/local/etc/php70/php.ini-development /opt/local/etc/php70/php.ini
Composer をインストールする
~/local/bin にインストールします。
mkdir -p ~/local/bin
curl -sS https://getcomposer.org/installer | php -- --install-dir=/Users/`whoami`/local/bin --filename=composer
.zshenv (使っているシェルの設定ファイル)
.zshenv にPATH設定を書きます。(.bash_profileなどお使いのシェルの設定に記述ください)
PATH=$PATH:~/local/bin:~/.composer/vendor/bin
ターミナルを開き直すとcomposer
コマンドが使えます。(前もってphpcsがインストールされるディレクトリも追記しました)
PHP_CodeSniffer, CakePHP Code Sniffer をインストール
composer global require "squizlabs/php_codesniffer=*"
composer global require "cakephp/cakephp-codesniffer=2.*"
phpcs --config-set installed_paths ~/.composer/vendor/cakephp/cakephp-codesniffer
CakePHP のコーディング規約チェックができるようになりました。
phpcs -i
The installed coding standards are MySource, PEAR, PHPCS, PSR1, PSR2, Squiz, Zend and CakePHP
PhpStorm でチェックできるようにする
Inspection で PHP CodeSnifferを使うだけならLanguages & Frameworks > PHP > Interpreterの設定は不要でした。
Code Sniffer設定
- 設定画面(Preferences...)を開いて、Languages & Frameworks > PHP > Code Sniffer を選択。 右側ペインの Configuration の右側にある"..."をクリックしてください。
- Code Snifferというダイアログが開いたら、"PHP Code Sniffer (phpcs) path:" に
/Users/<yourname>/.composer/vendor/bin/phpcs
と入力して "OK" をクリックします。 (<yourname>
はあなたのログイン名に置き換えてください)
- 次に設定画面の Editor > Inspections を選択し、右側ペインのPHP Code Sniffer validationを選択します。(設定項目の検索を使うと探すのが楽です)
- 右下の "Coding standard:" のリストを再読み込み(赤囲みのボタン)してから"CakePHP" を選択しましょう。
以上で設定完了です。
Windows編
PHP 7.0 をインストールする
Windows版PHP 7.0 の実行にDownload Visual Studio 2015 の Visual C++ 再頒布可能パッケージ from Official Microsoft Download Centerが必要になるのでインストールします。x64もしくはx86を選択する場面ではx64を選択します。(Widndows が32bit版なら、x86を選択してください)
PHP For Windows: Binaries and sources Releases から VC14 x64 Thread Safe のZipをダウンロードします。(こちらもWidndows が32bit版なら、x86を選択してください)
Zipを解凍してできたフォルダ名(php-7.0.0-Win32-VC14-x64)をphpに変更して、C:\
に移動します。
環境変数Path に C:\php
, C:\php\ext
を追加します。
C:\php\php.ini
の設定を3つ変更します。
extension_dir
, exteinsion=php_openssl.dll
はこのあとComposer-Setup.exeを実行するときに必要です。
date.timezone = Asia/Tokyo
extension_dir = "ext"
extension=php_openssl.dll
Composer をインストールする
Composer DownloadからComposer-Setup.exe をダウンロードし実行します。
MacやLinuxと違い、Windowsはインストーラを使ってComposerをインストールします。PHPバイナリのパスを指定する場面では C:\php\php.exe
(先ほどPHPをインストールしたパス)と入力してインストールします。
Composer-Setup.exe (最新版)は自動的に環境変数PATHを設定してくれるので、手動設定は不要です。
PHP_CodeSniffer のインストール
CakePHP Code Snifferもあわせてインストールする方法をまとめておきます。
composer global require "squizlabs/php_codesniffer=*"
composer global require "cakephp/cakephp-codesniffer=2.*"
phpcs --config-set installed_paths %USERPROFILE%\AppData\Roaming\Composer\vendor\cakephp\cakephp-codesniffer
PhpStorm で常時チェックできるように設定する
Macの場合と同じなので省略します。
ただし、PHP Code Sniffer (phpcs) path: は、以下のようなバッチファイルのパスを指定します。
<username>
をログインしているユーザ名にしてください
C:\Users\<username>\AppData\Roaming\Composer\vendor\bin\phpcs.bat
参考文献
WindowsでPHPMDやPHPCSを入れてSublimeLinterでLintする - MANA-DOT
まとめ
PHP_CodeSniffer をMac/Windowsに composerを使ってインストールする方法、PhpStormに設定する方法を説明しました。