Getting Started with symfony

環境

You are currently browsing
the website for symfony 1

Visit the Symfony2 website


About

You are currently reading "Getting Started with symfony" which is licensed under the Creative Commons Attribution-Share Alike 3.0 Unported License license.

Tutorial Content

Master symfony

Be trained by SensioLabs experts (2 to 6 day sessions -- French or English).
trainings.sensiolabs.com

Books on symfony

Learn more about symfony with the official guides.
books.sensiolabs.com

L'audit Qualité par SensioLabs

200 points de contrôle de votre applicatif web.
audit.sensiolabs.com
symfony training
Be trained by symfony experts
May 29: Paris (Web Development with Symfony2 - Français)
May 31: Paris (Mastering Symfony2 - Français)
Jun 06: Paris (Introduction to Symfony2 - Français)
Jun 06: Paris (Introduction to Symfony2 - English)
Jun 06: Paris (Going Further with Symfony2 - English)
and more...

Search


powered by google
You are currently browsing "Getting Started with symfony" in Japanese for the 1.4 version - Switch to language:
Creative Commons License This work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License.

web/ディレクトリを見てみると、2つのPHPファイル: index.phpfrontend_dev.phpが見つかります。 これらのファイルはフロントコントローラーと呼ばれます: アプリケーションへのすべてのリクエストはこれらを通して行われます。 しかしなぜアプリケーションごとにフロントコントローラーを2つ用意するのでしょうか?

両方のファイルは同じアプリケーションを指し示しますが環境は異なります。 運用サーバーで直接開発する場合を除いて、アプリケーションを開発するとき、複数の環境が必要です:

環境を使いわける基準は何でしょうか? たとえば開発環境では、アプリケーションはデバッグ作業を楽にするためにリクエストの詳細をすべてログに記録する必要がありますが、 コードへのすべての変更が即座に反映されるようにするためにキャッシュシステムを無効にしなければなりません。 ですので、開発環境は開発用に最適化しなければなりません。 最良の例は例外が起きるときです。 開発者が問題を速くデバッグするのを手助けするために、symfonyは現在のリクエストに関するすべての情報を持つ例外をブラウザーに表示します:

開発環境の例外

しかし開発環境では、キャッシュレイヤーは有効にしなければならず、もちろんアプリケーションは生の例外の代わりにカスタマイズされたエラーメッセージを表示しなければなりません。 ですので、運用環境ではパフォーマンスとユーザーエクスペリエンスのために最適化しなければなりません。

運用環境の例外

フロントコントローラーのファイルを開くと、環境設定以外の内容が同じであることがわかります:

// web/index.php
<?php
 
require_once(dirname(__FILE__).'/../config/ProjectConfiguration.class.php');
 
$configuration = ProjectConfiguration::getApplicationConfiguration('frontend', 'prod', false);
sfContext::createInstance($configuration)->dispatch();

Webデバッグツールバーも環境の使い方のすばらしい例です。 これは開発環境のすべてのページに存在し、異なるタブをクリックすることでたくさんの情報: 現在のアプリケーションの設定、現在のリクエスト用のログ、データベースエンジンで実行されるSQLステートメント、メモリの情報と時間の情報にアクセスできます。

次は? »
« Webサーバーの設定

Questions & Feedback

If you find a typo or an error, please register and open a ticket.

If you need support or have a technical question, please post to the official user mailing-list.