symfony2のコンセプトを斜め読み

Symfony 2
Fabien Potencier
March 04, 2009 > June 04, 2009
Montreal / Canada - PHPQuebec Conference - 2009
Next >

カナダで開催されたPHPQuebec カンファレンスでsymfony2の開発リーダーであるFabienが行ったプレゼンの資料が公開されています。
symfony1.x系はあくまでもsymfony2へ移行していくための準備にすぎないということがわかっている現在、symfony2がどういうような実装になっていくのか気になっていたので、ざっくりと眺めてみた感想を。

1. symfony2のコアはより軽量にかつ柔軟性があるものになるので単純な処理(DB処理などなしで文字列の出力程度)は早い

資料によると、Hello Worldを出力するだけのような(あまり意味の無い)ベンチマークにおいて、symfony1.2と比べて7倍ほど早くなるとのこと。そして、フレームワークのコア部分だけを利用すれば、設定ファイルも何もなしで、1枚のPHPファイルでsymfonyを利用した処理を行うサンプルがありました。

http://classic.guesswork.jp/で開発するときのような書き方に近いですね。
このままを利用して何かサイトを作るなんてことは無いでしょうが、コア部分がより軽量化されたからこそできることですね。
そして、ORマッパーやテンプレートエンジンなどのコア以外の機能から完全に独立していることがわかります。

2. テンプレートフレームワーク

最近のPHPフレームワークの流行はSmartyなどのテンプレートを使わずに、PHPそのものの特徴を利用したPHPそのものをテンプレートとして利用するパターンです。symfony2でもその方向は変わりありませんが、より柔軟性のもてるテンプレートエンジンになるようです。

その特徴としてテンプレートの継承ができるようになるそうです。PHPでの他のフレームワークではrhacoでは実装されていると思うのですが、それに近いものなんでしょうか?
継承できることで、書き換えたい部分だけを書けばよいので、すっきりしたテンプレートが書けそうです。

3 DIコンテナ

これも期待されるDIコンテナについてXMLで書いた場合とPHPのコードで書いた場合を比べたサンプルがあります。
依存関係をはっきりさせることができるのは嬉しいのですが、私自身DIコンテナの知識が乏しいので、symfony2でのDIコンテナがどういった特徴があるのかわからないので、誰かのレビューを待ちます(ぉ

にしても、全102ページもあり結構なボリュームです。
symfonyを既に使っている方にとっては読みがいのある資料だと思うのでおすすめです。