phpcsでPSR-2のコーディング規約を設定する
仕事でPHPを久々に扱うことになり、Laravelを使ったPJにアサインされました
せっかくなので、PJ内のコーディング規約をLaravelのPSR-2に統一することを決め、それをチーム内で遵守させるためエディタに拡張を入れたのですがエラーが発生したためいろいろと作業メモを残します
homebrewでPHP@72をインストール
brewでphpcsを使う場合、composerを入れる必要があるのですがその場合PHP@72を要求されるため先にこちらを入れます
php -v brew install php@7.2
これでインストールされますが、Macにデフォルトで入っているPHP7.1より優先させるため下記の作業を追加で行います
echo 'export PATH="/usr/local/opt/php@7.2/bin:$PATH"' >> ~/.bash_profile echo 'export PATH="/usr/local/opt/php@7.2/sbin:$PATH"' >> ~/.bash_profile source ~/.bash_profile php -v
homebrewでcomposerをインストール
brewでcomposerをインストールし、composer経由でインストールしたコマンドのパスを登録します
brew install composer echo 'export PATH="~/.composer/vendor/bin/:$PATH"' >> ~/.bash_profile source ~/.bash_profile
composerでPHP_Codesnifferをインストール
composer global require "squizlabs/php_codesniffer=*"
これで先程指定したパスにコマンドがインストールされます
VS Codeにphpcsの拡張機能を入れる
これはエディタ上で拡張機能のphpcsを検索すれば出てくるので、対象をインストールしVS Codeを再起動します
その後、settings.jsonに"phpcs.standard": "PSR2"
を追加すれば設定完了です
エラーについて
再起動時PHPファイルを開くと、下記エラーが発生する場合があります
phpcs: Request workspace/configuration failed with message: Unable to locate phpcs. Please add phpcs to your global path or use composer dependency manager to install it in your project locally.
発生した場合、以下の対応を行います
以上の設定を行うことでエラーが解消される、はず
何もしなくても気がついたらエラーが出なくなったなどよくわからない症例もありましたが、基本これで大丈夫です