Symfony2 チュートリアルを終えて
2011年12月13日Symfony2 チュートリアルを終えて
Symfony2のチュートリアル(カスタマイズ編を含む)を終えての感想
Symfony1.1~1.4までを利用して来ましたが、大幅に内容が変更になっています。
大まかな変更点は以下です
- PHP5.3以降に対応
名前空間の利用の為、PHP5.3以降に対応しています
現在の最新バージョンが、PHP5.4なのでほぼ最新のPHPを利用しなければなりません(投稿段階) - シンプルかつ高速
symfony1.x系は、「重い」とされてきました
Symfony2ではこの点が大幅に改善されているようです
Symfony2のアプリケーションの中核を担うクラスが、Symfony\Foundation\Kernelです
このクラスは非常にシンプルな作りになっています
また、Requestを受けてResponseの作成までを担うSymfony\Components\RequestHandler\RequestHandlerクラスもとてもシンプルに作られています
この2つのクラスがアプリケーションの全体の構成を担っています
そのため、必要に応じて処理を組み込んでいくのがSymfony2のスタンスとなります - DIコンテナ
Symfony2には、オブジェクトの依存性をなくす為のコンポーネントが2つあります
1つは以前から実装されていたEventDispatcherです
そして、新たに実装されたのがDependencyInjectionというコンポーネントです
DependencyInjectionについては、Febien氏のブログWhat is Dependency Injection?を読むと分かりやすいです - Doctrine2
ORMであるDoctrineも新しいDoctrine2が採用されています
こちらも以前のDoctrineと比べて、高速かつ軽量になっています - ZendFramework
Symfony2からは、ログとキャッシュにZendFrameworkを利用することになります
大きな変更点としては、以上のようなものがあります
さて、実際にSymfony2で作るアプリケーションはどうなるのでしょうか?
現在、GitHub上にsandboxがあがっていますので、それからソースを追う方が一番手っ取り早いです
以前のマイナーバージョンである1.1~1.4はアップグレードの手順が確立化されていましたが、今回のSymfony2はメジャーバージョンアップということもあって、下位バージョンとの互換性はありません(おそらく、マイグレーション可能なツールもありません)
そういった意味では、若干敷居が高いSymsony2ですが、上記のメリットを享受する為にも、是非積極的にSymfony2を試して見てください。
また、ドキュメントも豊富なので、以下に主なドキュメントへのリンクを記載して置きます
【参考】
日本語ドキュメント
ref. Symfony2 日本語翻訳ドキュメント
ref. Symfony2 Blogチュートリアル
ref. Symfony2 ドキュメント
ref. クイックツアー
ref. ガイドブック
ref. クックブック
ref. リファレンス
英語ドキュメント
ref. Symfoy2 Documentation