こんにちは!コドモンプロダクト開発部で認証/認可のリプレイスを主に担当しております、エンジニアの関口です。 今回はPHP8.0からの新機能「constructor promotion」について「アツい!」と感じたので、その紹介がてら、クラスのコンストラクタを書く際の私のプラクティスを書いていきます。 弊社では以前からPHPのバージョンアッププロジェクトが進行しており、PHP8.1への移行がおおむね完了するところまで来ています。8.0で出た多くの改善を開発に活かせる環境が整い、実際に利用することができるようになってきたのでこのテーマを取り上げました。移行を進めてくれた弊社PHPバージョンアップチームに感謝です。 constructor promotionとは? 可能な限りすべてのプロパティにreadonly属性を付与する 複数箇所でインスタンス化される場合、コンストラクタを非公開にして代わり