Laravel框架的生命周期有哪幾個階段?Laravel生命周期四個階段的介紹

我們都知道laravel請求到響應的整個執行過程,主要可以分為四個階段:程序啟動準備階段、請求實例化階段、請求處理階段、響應發送和程序終止階段;那么,每一個階段里面又有哪些內容呢?下面我們就來簡單看一看laravel框架請求到響應的整個生命周期的內容。

程序啟動準備階段

服務容器實例化

服務容器的實例化和基本注冊,包括了服務容器本身注冊、基礎服務提供者注冊、核心類別名注冊和應用的基本路徑注冊。注冊的服務只是具體的類名,是通過反射機制來實例化對象,并且通過反射機制自動解決構造函數中的依賴關系。

核心類實例化

核心類實例化是服務容器實例化后,通過核心類別名注冊服務來得到的服務容器自動實例化對象。如:index.php中的Kernel類實例化:

$kernel?=?$app->make(IlluminateContractshttpKernel::class);

請求實例化階段

請求是客戶端發送的一個請求報文,包括請求行、請求首部和請求實體。laravel將其分類并保存在IlluminateHttpRequest類的實例對象中,也就是說將請求轉化為一個實例對象。請求實例的創建是通過IlluminateHttpRequest類的capture()靜態方法完成的,即:

$request?=?IlluminateHttpRequest::capture();

但在capture()方法中,可以看出Laravel的請求實例是在symfony請求實例的基礎上創建的。而Symfony是通過PHP的全局數組$_GET、$_POST、$_COOKIE、$_FILE和$_SERVER作為參數來實例化請求的。

請求處理階段

請求處理階段首先是準備請求處理的環境,包括環境加載、服務提供者注冊等環節,然后將請求實例通過中間件處理及通過路由和控制器的分發控制,使得不同的請求通過相應的處理程序進行處理并生成響應的過程。

響應發送和程序終止階段

響應發送

Laravel的響應處理類是IlluminateHttpResponse類,該類的底層也是在Symfony的Response類。響應的發送包括兩部分內容:響應頭信息的發送和響應主體內容的發送。

程序終止

Laravel中,終止程序主要是完成終止中間件的調用。

以上是本篇文章的全部內容了,更多laravel內容請關注laravel教程。

相關文章推薦:

laravel

laravel

? 版權聲明
THE END
喜歡就支持一下吧
點贊8 分享