🐾
LaraStanをインストールしたてのLaravel10で実行してみる
LaraStanをインストールしたてのLaravel10で実行してみる
Railsの仕事でコード静的解析を行なって、コードのレビューコストを下げていたので、とりあえず自分の得意分野のLaravelでもコード静的解析をやってみる。
LaraStan
調べてすぐに以下のパッケージを発見したが、廃止されたみたいです。
以下、パッケージをインストールしました
phpstan.neonの作成
プロジェクト配下にphpstan.neonを作成してください。
includes:
- vendor/larastan/larastan/extension.neon
- vendor/nesbot/carbon/extension.neon
parameters:
paths:
- app/
# Level 10 is the highest level
level: 1
# ignoreErrors:
# - '#PHPDoc tag @var#'
#
# excludePaths:
# - ./*/*/FileToBeExcluded.php
Levelが1から10段階あります。今回はテストで1段階目にしました。
コード静的解析を実行してみた
./vendor/bin/phpstan analyse --memory-limit=2G
Note: Using configuration file /Users/******/******/******/******/phpstan.neon.
24/24 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
------ ----------------------------------------------------------------------------------------------------------
Line Console/Kernel.php
------ ----------------------------------------------------------------------------------------------------------
30 Called 'env' outside of the config directory which returns null when the config is cached, use 'config'.
🪪 larastan.noEnvCallsOutsideOfConfig
------ ----------------------------------------------------------------------------------------------------------
------ ----------------------------------------------------------------------------------------------------------
Line Http/Controllers/InfoUserController.php
------ ----------------------------------------------------------------------------------------------------------
31 Called 'env' outside of the config directory which returns null when the config is cached, use 'config'.
🪪 larastan.noEnvCallsOutsideOfConfig
48 Variable $attribute might not be defined.
🪪 variable.undefined
------ ----------------------------------------------------------------------------------------------------------
------ ----------------------------------------------------------------------------------------------------------
Line Http/Controllers/ResetController.php
------ ----------------------------------------------------------------------------------------------------------
19 Called 'env' outside of the config directory which returns null when the config is cached, use 'config'.
🪪 larastan.noEnvCallsOutsideOfConfig
------ ----------------------------------------------------------------------------------------------------------
修正方法をChatGPTに聞くといいでしょう
以下の状態になればOKです。
./vendor/bin/phpstan analyse --memory-limit=2G
Note: Using configuration file /Users/******/******/******/******/phpstan.neon.
24/24 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
[OK] No errors
Discussion