2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

WSL2のUbuntuでPHPStanを使う(VSCode)

Posted at

はじめに

  • 自分だけの環境に 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 ですが、
    いろいろな事情で追加できない(したくない)時に、参考にしていただければと思います
  • この記事が他のエンジニアの助けになれば幸いです
2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?