はじめに
- 自分だけの環境に PHPStan を入れて、他の開発メンバーと差をつけたい時、あると思います
- ということで、WSL2 で利用する Ubuntu ディストリビューションに PHPStan を設定し、そちらを VSCode で読み込むようにします
バージョン
- Windows11 Pro
- 21H2
- VSCode
- 1.61.0
- Ubuntu
- 20.04.2 LTS
- Composer
- 2.1.3
前提
- こちらの記事の続きです
https://qiita.com/rowpure/items/fcf84ae42d8e5ed81ad1
拡張機能インストール手順
1.PHPStan インストール
- 以下のコマンドを実行する
# パッケージ最新化
sudo apt update
# PHPStan インストール
composer global require phpstan/phpstan
2.VSCode と連携
- VSCode の拡張機能PHPStanをインストールする
3.PHPStan 読み込み設定
- VSCode の settings.json を編集する
settings.json
{
"phpstan.path": "/home/xxxx/.config/composer/vendor/bin/phpstan",
}
4.phpstan.neon
ファイル作成
- PHPStan で分析させたいリポジトリに以下のファイル配置
- 一番厳しいレベルに設定(0 ~ 7 [= max]が設定できる)
-
src
ディレクトリ配下を分析する設定
phpstan.neon
parameters:
level: max
paths:
- src
- 保存することで VSCode に反映され、対象ファイルの分析が行われる
- NG 個所はサイドバーのエクスプローラーのファイル名が赤くなり、対象コードに赤い波線が出ます
おわりに
- 小さいリポジトリでも、それなりに赤い波線が出てしまいました
(ほとんどが array のドックコメント & null になる可能性のある変数の不適切な引数設定についてでした) - かなり不具合を予防できるような気がします、特にログに出る Notice エラーを
- CakePHP の例ですが、今回の対応で修正したコミットになります
- メンバー間でコード形式を統一するために、PHPStan を追加すべき個所はリポジトリの
composer.json
ですが、
いろいろな事情で追加できない(したくない)時に、参考にしていただければと思います - この記事が他のエンジニアの助けになれば幸いです