Laravel的请求声明周期
聲明周期概述#
開始#
public/index.php 文件是所有對Laravel應用程序的請求的入口點。而所有的請求都是經由你的Web服務器(Apache/Nginx)
通過配置引導到這個文件。index.php 文件不包含太多的代碼,卻是加載框架的起點。
index.php 問價加載Composer生成定義的自動加載器,然互從bootstrap/app.php腳本中檢索Laravel應用程序的實例。
Laravel本身采取的第一個動作是創建一個application/service container的實例。
HTTP / 控制器內核#
接下來,根據進入應用的程序大的請求類型來將傳入的請求發送到HTTP內核或控制臺內核。而這兩個內核是用來作為所有
請求都要通過的中心位置。現在,我們先看看位于 app/Http/Kernel.php中的HTTP內核。
HTTP內核繼承了 Illuminate\Foundation\Http\Kernerl類,他定義了在執行請求之前運行的bootstrappers數組。這個數組
負責在實際處理請求之前完成這些內容:配置錯誤處理、配置日志記錄、檢測應用程序環境以及執行其他需要完成的任務。
HTTP內核還定義了所有請求被應用程序處理之前必須經過的HTTP中間件的列表。這些中間件處理HTTP會話的讀寫。
確定應用程序是否處于維護模式、驗證CSRF令牌等。
HTTP內核的handle方法的方法簽名非常簡單:接收Request 并返回 Response。可以把內核當做是代表整個應用
程序的大黑盒,給他HTTP請求,他就返回HTTP相應。
服務提供器#
最重要的內核引導操作之一是加載應用程序的服務提供器。引用程序的所有服務提供器都在config/app.php配置文件的
providers 數組中配置。首先,所有提供器都會調用register方法,接著,由 boot方法負責調用所有被注冊提供器。
服務器負責引導所有框架的各種組件,如數據庫、隊列、驗證和路由文件。也就是說,框架提供的每個功能
都由他們來引導并配置。因此也可以說,服務提供器是整個Laravel引導過程中最重要的方面。
分配請求#
一旦引導了引用程序且注冊所有服務器提供器,Request請求就會被轉交給路由器來進行調度。路由器將請求發送到路由
或控制器或任何運行與路由的特定中間件。
聚焦服務提供器#
服務提供器引導Laravel應用程序真正的關鍵。創建應用程序實例、注冊服務提供器,并請求交給被引導的
應用程序。
?
轉載于:https://www.cnblogs.com/simadongyang/p/8470091.html
總結
以上是生活随笔為你收集整理的Laravel的请求声明周期的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 关于tensorflow的变量(vari
- 下一篇: nodejs中的exports和modu