Symfony2 チュートリアルを終えて

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