Open8

Laravel10で作成中のプロジェクトへLarastanによる静的解析を導入する

tenryutenryu

要件

  • 今後多くのユーザーによる機能追加が予定されているため、実装者によるコード品質の差異を可能な限り減らしたい
  • 社内ツールだからレビューが適当になりがち(予想)なため、ある程度の品質担保のために導入したい
  • PHPのゆるゆる型定義はやめて、がちがちに型定義したい
tenryutenryu

後で導入予定のphp-cs-fixerにも関係ありそう
公式が準拠を名言している規約(PSR-2)が非推奨で、PSR-12が新たに推奨されているらしい

https://rightcode.co.jp/blog/information-technology/laravel-php-static-analysis-tools-syain

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.

参考:https://www.php-fig.org/psr/psr-2/