Symfony2のいいところ
ちょっと仕事が行き詰ったので、Symfony2のいいなーと思うところでも書いて頭をリフレッシュしよう。
ぱっと思いつくのはこのあたりですかね。
シンプルなアーキテクチャ
とにかくFilterがなくなるのがとてもうれしいです。Symfony2の流れってとてもシンプルで
- Kernelを起動
- Bundleの登録
- Containerの初期化
- 各Bundleの起動
- BundleごとにContainerの拡張など
- (Requestの生成)
- HttpKernelがRequestのハンドリング
- Responseの送信
これだけですよ。HttpKernelによるReqestのハンドリングもEventDispatcherを使っているので疎結合+様々な拡張が可能です。
DIコンテナ
DIコンテナほしいなとー、symfony使っててふと思ったのでこんなエントリー書いてるんですけど。factories.ymlとかもう色々面倒くさいんですもの...。
Twig組み込み
Twigってかテンプレートの継承がすごくいい感じです。Symfony2に合わせてTwigの拡張性も上がってるし、Twigいいですよ。
アクションの戻り値がResponseオブジェクト
sfExecutionFilterとかほんと忌々しい。ていうかsfConfigにテンプレート名いれるとかどうなの...。アクション実行後も色々よくわからんことされるより、アクションの内部で「Responseできました!」ってとこまで行く方が色々扱いやすいです。
redirectやforwardも今までは例外投げて止めるとかやっていましたが、今回はそれぞれのメソッドの戻り値としてResponseを返します。
ただ、アクション内で毎回ビューの指定とか書かなきゃいけないのでちょっと面倒です。変数の受け渡し方法も従来のものと変わるのですが、見通しは良くなるかなと思います。