使うとどういったことができるのでしょうか。使うのに必要な準備はどういったものでしょうか。この章ではこれらの内容を説明します。フレームワークは特定の目的のために採用される多くのパターンを自動化することでアプリケーション開発の合理化を推し進めます。フレームワークはコードに構造を加えることで開発者に読みやすく維持しやすいコードを書くよう奨励します。フレームワークは複雑な作業を簡単なステートメントにまとめるので、最終的に、プログラミング作業はより楽になります。アプリケーションの開発を最適化するためにいくつかの重要な特徴を通して設計された完全なフレームワークです。アプリケーションのビジネスルール、サーバーのロジック、そしてプレゼンテーションのビューを分離します。アプリケーションの開発期間を短くすることを目的とした多くのツールとクラスを搭載しています。共通のタスクを自動化します。現実の世界のさまざまなプロジェクト(answers、delicious、dailymotion)で徹底的にテストされ、高度な要件が求められる電子商取引のWebサイトでも実際に利用されています。含む利用可能なほとんどのデータベースエンジンと互換性があります。プラットフォームで動作します。つぎのセクションで機能を詳しく見ることにします。同様に、組み込みの国際化レイヤーによってデータとインターフェイスの両方の翻訳を可能にする。デザイナーによって開発できるテンプレートとレイアウトを利用する。大部分のコードを単純なコードの呼び出しにカプセル化することでヘルパーは書く必要のあるプレゼンテーションのコード量を減らす。再投入をサポートする。このことによって質のよいデータベースのデータと優れたユーザーエクスペリエンスが保証される。出力エスケーピングによって不正なデータ経由の攻撃からアプリケーションを保護する。キャッシュの管理機能は回線の帯域幅の使用量とサーバーの読み込み回数を減らす。認証とクレデンシャル機能は制限つきのセクションとユーザーのセキュリティ管理機能の作成を円滑にする。ページのアドレスをインターフェイスの一部にして検索エンジンにフレンドリーにする。pagination)、ソート、そしてフィルタリングのおかげでリストはよりユーザーフレンドリーになる。ファクトリ、プラグイン、そしてイベントシステムは高いレベルの拡張性を提供する。完全にカスタマイズできます。標準でいくつかの開発環境が組み込まれており、次のような、一般的なソフトウェアエンジニアリングのタスクを自動化する複数のツールがあります:コード生成ツールはプロトタイプ作成とワンクリックで実行できるバックエンドの管理画面のために大いに役立つ。フレームワークはテスト駆動開発を可能にする完璧なツールを提供する。デバッグパネルは開発者がとり組んでいるページで必要なすべての情報を表示するのでデバッグ作業を迅速に行うことができる。2つのサーバー間のアプリケーションのデプロイを自動化する。稼働中のアプリケーションの設定を効率よく変更できるロギング機能はサイト管理者にアプリケーションの活動に関する完全な詳細内容を提供する。よってsymfonyの最初のバージョンは2005年10月に公開されました(訳注:そのほかの開発メンバーの名前の読みかたは「Sensio(symfony)訪問レポート」を参照)。フランスのWeb制作会社でWeb開発に関して革新的な見解を持つことでよく知られています。製の既存のオープンソース開発ツールの調査に時間を費やしましたが、まえに説明した要件を満たすものが存在しないことが判明しました。公開されたとき、彼は利用できるツールをフルスタックフレームワークに統合するのに十分に成熟した段階に到達したと判断しました。コアの開発に1年費やしました。テンプレートヘルパーなどがベースとなっています。思いどおりに使える効率的なフレームワークを保有することはアプリケーションを早く効率的に開発する理想的な方法を示すからです。開発がより直感的なものになり、アプリケーションは堅牢で維持が楽になりました。採用したときにその性能は確かめられました。その後、ほかのプロジェクトにも適用されました。オープンソースのライセンスのもとで公開しました。経験を展示するため、そして面白いからです。含む省略語が欲しかったからです。彼は大文字も好みませんでした。完全な英語ではないとしても十分に英語に近い名前であり、プロジェクトの名前としても利用可能でした。(フランスパン)」でした。採用率を上げてオープンソースプロジェクトとして成功するために、大規模な英語のドキュメントが必要でした。コードを徹底的に研究してオンラインの教科書を書くように依頼しました。プロジェクトが公開されてからしばらくかかりましたが、大勢の開発者にアピールするのに十分なドキュメントが作られました。その後の話はご存じのとおりです。公開されるとすぐに、世界中から大勢の開発者がフレームワークをダウンロートしてインストールし、オンラインのドキュメントを読み、symfonyで最初のアプリケーションを構築し、興奮のざわめきが始まりました。製のフルスタックフレームワークは高い需要がありました。すばらしい品質のコードと特筆すべき量のドキュメント、フレームワークのカテゴリにおいてほかのプレイヤーを越える2つの長所、のおかげで説得力のあるソリューションを提案しました。貢献者がすぐに名乗り出て、パッチと機能の強化を提案し、ドキュメントの校正を行い、そのほかの必要とされた役割を果たしました。貢献するためのさまざまな方法を提供し、ボランティアはみな歓迎されます。主要なコミッターで、コードの品質を保証します。チャンネルはざっと見て1つの質問に対して平均4つの回答を得られる理想的なサポート施設を提供します。インストールし、ウィキとコードスニペットのセクションでは多くのユーザーが投稿したドキュメントがホストされています。コミュニティはこのフレームワークの3番目の強みで、あなたもこの本を読んだ後に参加してくださることを我たち執筆者は望んでいます。使えるようになります。開発をするかどうか決める主な要因はあなたのプロジェクトの規模です。サイトを開発したい場合で、パフォーマンスを保証するもしくはドキュメントを提供する義務がなければ無地のPHPコードにこだわるべきでしょう。Webアプリケーションのフレームワークから多くのことを得られず、おそらくはオブジェクト指向もしくはMVCモデルが開発プロセスを遅らせることになるでしょう。共用サーバー上で効率的に動作するように最適化されていません。将来アプリケーションを維持するもしくは拡張することを計画する場合、コードを軽量に、読みやすく、効果的なものにすることが必要になります。数百行書くだけではすまされません。