Open8
Laravel10で作成中のプロジェクトへLarastanによる静的解析を導入する
要件
- 今後多くのユーザーによる機能追加が予定されているため、実装者によるコード品質の差異を可能な限り減らしたい
- 社内ツールだからレビューが適当になりがち(予想)なため、ある程度の品質担保のために導入したい
- PHPのゆるゆる型定義はやめて、がちがちに型定義したい
モデルクラスのインスタンスを生成する場合、make()ではなくnewの方がインスタンスを二重で生成しなくていいため効率的らしい。あとでソース確認したい。
公式リポジトリのルールドキュメント
後で導入予定のphp-cs-fixerにも関係ありそう
公式が準拠を名言している規約(PSR-2)が非推奨で、PSR-12が新たに推奨されているらしい
PSR (PHP Standards Recommendations) は、PHP-FIG (PHP Framework Interop Group) が策定している PHP コーディング規約で、PSR1~19 の規約が存在しています。
その中でも、Laravelでは、ドキュメントに記載ある通りPSR-2とPSR-4の規約に準拠しているとのことですので、最低でもこの二つは守る必要があります。
しかし、PSR-2というのは、PHP-FIG によると、2019年の時点でPSR-2は既に非推奨となっており、代わりにPSR-12が推奨されているとのことです。
Deprecated - As of 2019-08-10 PSR-2 has been marked as deprecated. PSR-12 is now recommended as an alternative.
IDEで編集中に静的解析を実行する記事があまり見つからないから一般的ではないのかな?
PHPStormを使っていると静的解析は当たり前だから記事にならない?
Larastanの拡張はないからPHPStanの拡張入れて使えばいいよってやつ