PHPer Kaigi 2022 の発表資料です.
Laravel って,便利な機能が沢山実装されているし,ディレクトリ構成もテンプレートがそのまま使えて初学者に優しいですよね.
かくいう僕も,ほとんど Laravel の実務経験が無いまま新卒で社内プロダクトを引き継いだ頃は「便利だ便利だ」とLaravelに乗っかりまくっていました.
そんな中,だんだん「これってどうなの」と思う点がチラホラ出てきました.
・Controller と Model だけに処理を記述すると,肥大化して責務が不明瞭になってしまう
・Facade はどこでも使えて便利だが,依存関係が分かりづらくなってテストや拡張がしずらくなってきた
n番煎じかもしれませんが,「Laravel・PHP 初学者だったらこうしがち,でもちょっとできる人はこうやるよ」という観点で,実際に僕が経験した Laravel のコレジャナイ感とその解決法をお話します.