Larastanを試す
LarastanをつかってPHPStanをLaravel 5に導入する
phpstan.neonでpathが正常に利用できないバグがある
https://github.com/nunomaduro/larastan/issues/202#issuecomment-443548957
回避するためになるべくコマンドラインでやる
本家サイトの手順通りに導入する。実行はこのような感じで行う。
code:zsh
php artisan code:analyse --paths="packages" --error-format raw --no-progress --level=7
ここでいうpathはproject root以下のディレクトリ
0.4系以下ではpathsの指定方法似バグが有る(.neonで指定できない)
0.5系ではそもそも指定できなくなった
Laravel&Larastan(PHPStan)で静的コード解析を行う
ハマり
reviewdogとあわせるときに無駄に出力が出ることに気づいた
phpstan単体だと
code:zsh
vagrant@homestead:~/code$ ./vendor/bin/phpstan analyze --error-format raw -c phpstan.neon --level=7 --no-progress packages | ./reviewdog --diff="git diff master"
// 差分はないのでなにも出ない
artisanだと
code:zsh
php artisan code:analyse --paths="packages" --error-format raw --no-progress --level=7 | ./reviewdog -f=phpstan --diff="git diff"
// ここに実行結果が出る
解決
--no-ttyをつける
副作用なにかあるかな?
code:analyse not outputting to stdout/stderr · Issue #153 · nunomaduro/larastan
0.5系からこのオプションがなくなった
Larastanを使わずにPHPStanを素で使ったケース
PHPStanによる静的解析をLaravelアプリケーションに導入するためにやったこと - Qiita