Laravel

【Laravel9/PHPStan】Levelの設定方法 phpstan.neon

概要

Laravelで開発をする際、コードの品質を保つために必須のPHPstan

実行しなくてもエラーになる部分を教えてくれたり、

不必要な変数や、到達できない処理を教えてくれる静的解析ツールです。

Levelは0〜9の10段階で、数字が上がるほどチェックが厳しくなります。

この記事では、以下3つについてお伝えします。

  • PHPstanのインストール
  • Levelの設定方法(phpstan.neonファイルを作成)
  • PHPstanの実行方法

PHPstanのインストール

ComposerでPHPstanをインストール

composer require --dev phpstan/phpstan

ComposerでPHPstanの拡張パッケージをインストール

composer require --dev phpstan/extension-installer

※↑は必須ではありませんが、インストールしておくことでphpstan.neonファイルへの記述が省略できます

Levelの設定方法(phpstan.neonファイルを作成)

PHPstanのLevelはデフォルトで0に設定されています

Level0でも明らかにエラーになる部分は見つけてくれます。

ただ、もっと厳しくチェックするために、レベルを上げる方法をお伝えします。

PHPstanのLevelを設定するためにはneonというファイルが必要です。

Composerのインストールではこのファイルは作成されないので、

手動でphpstan.neonファイルを作成してください。

neonファイルは、ymlDockerFileのような書き方をします。

parameters:
  level: 8
  paths:
    - app
    - packages //追加で作成したファイル

↑のようにLevelを記述し、pathsにはチェックするフォルダを選択します。

※デフォルトではappだけ

今回はクリーンアーキテクチャで作成したAPIのチェックもしたいので、packagesもチェクに加えました。

PHPstanの実行方法

neonファイルまでのパスを指定して実行します

vendor/bin/phpstan analyse -c phpstan.neon

実行

Laravelでテスト用のAPIを1つ作成しました。

Level0ではエラーが1つもなかったのですが、

Levelを上げていくと型の指定方法や、PHPDocの書き方で引っかかってしまいました

Level0

Level1

Level2

Level3

Level4

Level5

Level6

Level7

Level8

Level9

Level10

まだLevel10はないようです

-Laravel