yiiのリクエスト処理は、洗練されたがエレガントなプロセスです。エントリスクリプト、通常は index.php
で始まり、アプリケーションをブートストラップします。これには、アプリケーションインスタンスの作成、アプリケーション構成ファイル( config/web.php
など)に基づいて構成し、リクエストを開始します。その後、アプリケーションは要求コンポーネントを使用して、リクエストメソッド(取得、投稿など)、要求されたURL、および提出されたデータを決定します。
次に、アプリケーションはURLマネージャーを使用してURLを解析し、どのコントローラーとアクションがリクエストを処理するかを決定します。これには、URLを定義されたルートと一致させることが含まれます。一致が見つかった場合、対応するコントローラーアクションが呼び出されます。コントローラーのアクションは、必要なロジックを実行し、通常、モデルと対話してデータにアクセスして操作します。このアクションの結果、多くの場合、ビューがレンダリングされます。
最後に、レンダリングされた出力はHTTP応答としてクライアント(ブラウザー)に送信されます。プロセス全体には、さまざまなポイントでのカスタマイズと拡張を可能にする多数のイベントとフィルターが含まれます。エラー処理はプロセス全体で統合され、例外やエラーの場合に優雅な劣化が確保されます。リクエストの受信から応答の送信から応答の送信まで、このサイクル全体はYiiのフレームワークコンポーネントによって慎重に管理され、各リクエストの一貫した効率的な処理を確保します。ライフサイクル:
yii :: $ app
(application):アプリケーションライフサイクル全体を管理する中央コンポーネント。構成を保持し、他のコンポーネントへのアクセスを提供します。データ。 \ yii \ web \ urlmanager
:このコンポーネントは、urlをコントローラーのアクションにマッピングします。リクエストをアプリケーションの適切な部分にルーティングする責任があります。 \ yii \ base \ controller
:コントローラーは、リクエストを処理してモデルと対話します。特定のタスクを実行するアクションが含まれています。 \ yii \ base \ action
:アクションは、リクエストに応じて特定のタスクを実行するコントローラー内のメソッドです。ヘッダーの設定、Cookie、および応答本体(通常レンダリングされたビュー)を処理します。データのレンダリングと資産管理を処理します。リクエスト処理パイプラインをカスタマイズして拡張するためのいくつかのメカニズムを提供します。 beforeaction
コントローラーのイベントを聞くことができます。これは、ロギング、キャッシュ、承認などの相互懸念に役立ちます。 urlmanager
を作成する場合があります。いくつかの要因がYiiの要求処理でパフォーマンスボトルネックにつながる可能性があります:
最適化戦略:
これらの潜在的なボトルネックに対処し、適切な最適化技術を採用することにより、YIIアプリケーションのパフォーマンスを大幅に改善できます。
以上がYIIは最初から最後までリクエスト処理をどのように処理しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。