ホームページ >PHPフレームワーク >Laravel >Laravelフレームワークのライフサイクルの段階は何ですか? Laravel ライフサイクルの 4 つの段階の紹介
プログラム起動準備フェーズ
サービスコンテナのインスタンス化
サービスコンテナ自体の登録、基本的なサービスプロバイダの登録、コアカテゴリ名の登録を含む、サービスコンテナのインスタンス化と基本登録アプリケーションのベースパスを使用して登録します。登録されるサービスは特定のクラス名のみであり、オブジェクトはリフレクション機構を通じてインスタンス化され、コンストラクター内の依存関係はリフレクション機構を通じて自動的に解決されます。コアクラスのインスタンス化
コアクラスのインスタンス化とは、サービスコンテナをインスタンス化した後、コアクラス名でサービスを登録することで得られる、自動的にインスタンス化されるサービスコンテナのオブジェクトです。例: Index.php でのカーネル クラスのインスタンス化:$kernel = $app->make(Illuminate\Contracts\Http\Kernel::class);
リクエストのインスタンス化フェーズ
リクエストとは、クライアントによって送信されるリクエスト メッセージであり、リクエスト行、リクエスト ヘッダー、リクエスト エンティティが含まれます。 Laravel はリクエストを分類してIlluminateHttpRequest
クラスのインスタンス オブジェクトに保存します。これはリクエストをインスタンス オブジェクトに変換することを意味します。リクエストインスタンスの作成は、IlluminateHttpRequest
クラスの capture() 静的メソッドを通じて完了します。つまり、 $request = Illuminate\Http\Request::capture();
IlluminateHttpRequest
类的实例对象中,也就是说将请求转化为一个实例对象。请求实例的创建是通过IlluminateHttpRequest
类的capture()静态方法完成的,即:rrreee但在capture()方法中,可以看出Laravel的请求实例是在Symfony请求实例的基础上创建的。而Symfony是通过PHP的全局数组$_GET、$_POST、$_COOKIE、$_FILE和$_SERVER作为参数来实例化请求的。
请求处理阶段
请求处理阶段首先是准备请求处理的环境,包括环境加载、服务提供者注册等环节,然后将请求实例通过中间件处理及通过路由和控制器的分发控制,使得不同的请求通过相应的处理程序进行处理并生成响应的过程。
响应发送和程序终止阶段
响应发送
Laravel的响应处理类是IlluminateHttpResponse
しかし、capture() メソッドでは、Laravel のリクエストインスタンスがSymfony リクエスト インスタンスに基づいて作成されます。 Symfony は、PHP のグローバル配列 $_GET、$_POST、$_COOKIE、$_FILE、$_SERVER をパラメーターとして使用してリクエストをインスタンス化します。
リクエスト処理フェーズ
リクエスト処理フェーズでは、まず環境の読み込み、サービスプロバイダーの登録などを含むリクエスト処理のための環境を準備し、次にミドルウェアとルーティングとコントローラーを介した分散制御を通じてリクエストインスタンスを処理します。さまざまなリクエストが対応するハンドラーを通じて処理され、応答が生成されるプロセス。
Laravelのレスポンス処理クラスはIlluminateHttpResponse
クラスであり、このクラスの最下位層もSymfonyのResponseクラスです。応答の送信には、応答ヘッダー情報の送信と応答本文の内容の送信の 2 つの部分が含まれます。
プログラムの終了
以上がLaravelフレームワークのライフサイクルの段階は何ですか? Laravel ライフサイクルの 4 つの段階の紹介の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。