発端 QiitadonでDIの話題が盛り上がっていた時に「LaravelのDIはつよい」みたいなことを書いたら一部反響があったので、その解説です。 はじめに LaravelのDIコンテナ(サービスコンテナ)はめちゃ強力です。「DIコンテナとは何ぞや」という説明は良記事が大量に存在するので詳細を省きますが、超初心者向けに端折った説明をすると「クラスをnewするときに必要なインスタンスを外からブチ込んでくれる人[1]」みたいな感じです。 [1]:かなり雑な説明。真面目に書くなら「クラスに関わる依存性の取り扱いを責務とするフレームワークの総称」という方が適切ですが、まあ初心者はよくわからんと思うので手を動かして勘を掴んだ方がよいかと思う次第。 実際にコイツのヤバさをサンプルコードで確認してみましょう。 RequestFormを用意する まず、検索リクエストを雑にバリデーションするSearchRe