SiG Staff Blog

やっていることをつらつらと

PHPにDIは必要か という話を聞いて。

PHPの現場 にて

最近PodCastにはまって、テック系の物をいくつか聞いてるんです。 フロント系が多いイメージのPodCastですが、PHPの話をしてくれる珍しいチャンネルがあって、 放送されたら必ず聞いてるんですが、そこでDIコンテナってPHPにいる?という話がありました。

Zendで更新が停滞しているオレオレフレームワーク作っていて、ふむふむそうだよねって思ったのでちょっと紹介。

php-genba.shin1x1.com

podcsstの概略

  • 便利は便利だから、DIの使いどころを間違わないようにしよう。
  • 今後、DIコンテナの有無でフレームワークの選択を分ける感じになるんでは。

うろ覚えなんだけどこんな感じで、結論的には、

DIコンテナは便利なんだけど、ちょっとPHPを使うにあたって大げさすぎるシーンが結構ある。

こんな感じ?だったと思います。

個人的な感想

DIは便利なのであったほうが良いかと思う。 ただ、あったほうが良いシチュエーションっていうのが結構おっきめのプロジェクトであることが多いかと思ってて、 そういうプロジェクトの時はF/W選んでポチポチ準備していくのはありかもしれないが、 そうじゃない、数か月だけ稼働するとかの場合はDIみたいな仕組みは無くて、突貫で作れればいいやん。

PHPの現場では、「それぞれのシチュエーションに合わせてF/Wを選ぶ感じになるじゃない?」という事だったけど、 DIコンテナありのF/Wにオレオレカスタマイズを入れて、

  • 短期集中の時は細かい設定せずに身を任せる。(どうせそんなに大量の機能が無いだろうし)
  • 長いプロジェクトの時は、設定とかテスト設定とかゴリゴリやる。

って感じにどっちでも転がれるようにF/Wの設定済ませて有る物を準備すればいいんかなぁと思った。

ちょこちょこ作ってるオレオレフレームワーク、Zendで作っているけど、Laravelをしてみたいから移行してみようかな。

兎にも角にも、次の収録が放送されるのが楽しみ。