はじめに

Fabien Potencier 著

この本を執筆しているとき、symfony プロジェクトは大きな節目:4回目の誕生日を祝いました。たった4年で、symfony フレームワークは世界でもっとも人気のあるPHPフレームワークの1つに成長しました。DeliciousYahoo BookmarksDaily Motionのようなサイトを支えています。しかし、symfony 1.4 の最新リリース (2009年11月) に関しては、1つのサイクルを終わらせます。この本はこのサイクルを終わらせる完璧な方法であると同時に、symfonyプロジェクトチームによって公開される symfony 1系のブランチの最新の本を読んでいることになります。次の本は2010年下旬にリリースされる予定で、Symfony 2.0 が中心になります。

上記のことと、この章で説明するほかの多くの理由から、この本は私たちにとって少し特別なものとなりました。

なぜまた別の本を?

私たちは最近すでに symfony 1.3 と 1.4 の2冊の本:「実践 symfony」"と 「symfony リファレンスガイド」を出版しました。前者は実際のプロジェクト開発のステップバイステップのチュートリアルを通して symfony の基礎を学び始めるための偉大な方法です。後者は日々の開発に必要なほとんどの symfony 関連のコンフィギュレーションの情報があるリファレンスです。

「もっと知りたい symfony」(原文は「More with symfony」)は symfony のより高度なトピックに関する本です。これは最初に読む symfony の本ではありませんが、すでにいくつかの小さなプロジェクトを symfony で開発した人に役立ちます。symfony の内部がどのように動いているのか知りたい、もしくは特定のニーズに向けてさまざまな方法で symfony を拡張したい、この本はそんなあなたのためにあります。このようにして、「もっと知りたい symfony」はすべて一歩上のレベルの symfony のスキルについて話しています。

この本はさまざまなトピックに関するチュートリアルのコレクションなので、symfony でなしとげたいものにもとづいて、自由な順番で章を読むことができます。

この本について

この本は特別です。これはコミュニティのためにコミュニティによって書かれた本だからです。大勢の人がこの本に貢献しました: 著者から翻訳者、査読者まで、この本に向けて大きな努力の集大成が注がれてきました。

この本は同時に五ヶ国語で出版されます (英語、フランス語、イタリア語、スペイン語そして日本語)。これは翻訳チームの好意の仕事なしには実現できませんでした。

オープンソース精神のおかげでこの本を実現できたのでオープンソースのライセンスのもとで公開されます。このことはすべてのことを変えます。このことはこの本に取り組むのにお金が必要ないことを意味します: すべての貢献者はこれを広めることを望んで一生懸命頑張りました。それぞれが自分たちの知識を共有することを望み、コミュニティに還元し、symfony の評判を広めるのを助け、もちろん、楽しんで有名になります。

この本は、 開発者もしくはプロジェクトマネージャーとして symfony を日常で使う10人の著者によって書かれました。彼らには symfony の深い知識があり、これらの章で知識と経験を共有しようと努めてきました。

謝辞

2009の8月に symfony の別の本を書くことを考え始めたとき、すぐにばかげたアイディアが思いつきました: 2ヶ月で本を書き上げ5つの言語で同時に出版するのはどうか!もちろん、多くのコミュニティのメンバーを巻き込むことが必須です。日本の PHP カンファレンスでアイディアを話し始め、数時間のうちに日本語翻訳チームが結成されました。これはみごとなものでした!著者と翻訳者からの反応は等しく励みになるもので、そして短期間で、"もっと知りたいsymfony"が生まれました。

この本の作成の間に1つもしくはほかの方法で参加したみなさんすべてに感謝を表します。貢献者のリストは順不同で次のとおりです:

Ryan Weaver、Geoffrey Bachelet、Hugo Hamon、Jonathan Wage、Thomas Rabaix,Fabrice Bernhard、Kris Wallsmith、Stefan Koopmanschap、Laurent Bonnet、Julien Madelin、Franck Bodiot、Javier Eguiluz、Nicolas Ricci、Fabrizio Pucci,Francesco Fullone、Massimiliano Arione、Daniel Londero、Xavier Briand,Guillaume Bretou、Akky Akimoto、Hidenori Goto、Hideki Suzuki、Katsuhiro Ogawa,Kousuke Ebihara、Masaki Kagaya、Masao Maeda、Shin Ohno、Tomohiro MitsumuneとYoshihiro Takahara

始める前に

この本は symfony 1.3 と symfony 1.4 の両方に向けて書かれています。2つの異なるバージョンのソフトウェアに向けて1冊の本を書くのはきわめて困難なので、このセクションは2つのバージョンの間の主要な違いと、あなたのプロジェクトのためにベストな選択をする方法を説明します。

symfony 1.3 と symfony 1.4 の両方のバージョンが2009年の年末に同時にリリースされました。当然のことながら、これらの機能のセットはまったく同じです。2つのバージョンの違いは古いバージョンの symfony との後方互換性があるかです。

symfony 1.3 は symfony (1.0、1.1、もしくは1.2) によるレガシーなプロジェクトをアップグレードする場合に使いたくなるリリースです。1.3の開発期間に廃止予定になった後方互換性レイヤーとすべての機能がまだ利用できます。このことはアップグレードは簡単で、シンプルで安全であることを意味します。

今日新しいプロジェクトを始めるのであれば、symfony 1.4 を使います。このバージョンは symfony 1.3 と同じ機能セットを持ちますが廃止予定のすべての機能、完全な互換性レイヤーを含めて、削除されました。このバージョンは symfony 1.3 よりもクリーンで少し速く動きます。symfony 1.4 を使う別の利点はより長いサポート期間で、symfony コアチームによって3年間維持されます (2012年11月まで)。

もちろん、あなたのプロジェクトを symfony 1.3 にマイグレートして長期サポートの恩恵を受けるために廃止予定の機能を削除し symfony 1.4 にゆっくりと移行させることができます。symfony 1.3 は1年間 (2010年11月まで) サポートされるので、移行計画に十分な時間があります。

この本は廃止予定の機能を説明しないので、すべての例は両方のバージョンで等しく動きます。