概要

Yii のアプリケーションがリクエストを処理するときは、毎回、同じようなワークフローになります。

  1. ユーザが エントリスクリプト web/index.php にリクエストをします。
  2. エントリスクリプトは、アプリケーションの 構成情報 をロードして、リクエストを処理するための アプリケーション のインスタンスを作成します。
  3. アプリケーションは、リクエスト アプリケーションコンポーネントの助けを借りて、リクエストされた ルート を解決します。
  4. アプリケーションはリクエストを処理するための コントローラ のインスタンスを作成します。
  5. コントローラは アクション のインスタンスを作成して、アクションのためのフィルタを実行します。
  6. フィルタのどれかが失敗すると、アクションはキャンセルされます。
  7. すべてのフィルタを無事に通ったら、アクションが実行されます。
  8. アクションはデータモデルを、おそらくはデータベースから、ロードします。
  9. アクションはデータモデルをビューに提供して、ビューをレンダリングします。
  10. レンダリングの結果は レスポンス アプリケーションコンポーネントに返されます。
  11. レスポンスコンポーネントがレンダリングの結果をユーザのブラウザに送信します。

次の図は、アプリケーションがどのようにしてリクエストを処理するかを示すものです。

リクエストのライフサイクル

この節では、これらのステップのいくつかについて、どのように動作するかを詳細に説明します。