公司文化
  

對于一個(gè)HTTP應用來(lái)說(shuō),從用戶(hù)發(fā)起請求到響應輸出結束,大致的標準請求流程如下:

  • 載入Composer的自動(dòng)加載autoload文件
  • 實(shí)例化系統應用基礎類(lèi)think\App
  • 獲取應用目錄等相關(guān)路徑信息
  • 加載全局的服務(wù)提供provider.php文件
  • 設置容器實(shí)例及應用對象實(shí)例,確保當前容器對象唯一
  • 從容器中獲取HTTP應用類(lèi)think\Http
  • 執行HTTP應用類(lèi)的run方法啟動(dòng)一個(gè)HTTP應用
  • 獲取當前請求對象實(shí)例(默認為 app\Request 繼承think\Request)保存到容器
  • 執行think\App類(lèi)的初始化方法initialize
  • 加載環(huán)境變量文件.env和全局初始化文件
  • 加載全局公共文件、系統助手函數、全局配置文件、全局事件定義和全局服務(wù)定義
  • 判斷應用模式(調試或者部署模式)
  • 監聽(tīng)AppInit事件
  • 注冊異常處理
  • 服務(wù)注冊
  • 啟動(dòng)注冊的服務(wù)
  • 加載全局中間件定義
  • 監聽(tīng)HttpRun事件
  • 執行全局中間件
  • 執行路由調度(Route類(lèi)dispatch方法)
  • 如果開(kāi)啟路由則檢查路由緩存
  • 加載路由定義
  • 監聽(tīng)RouteLoaded事件
  • 如果開(kāi)啟注解路由則檢測注解路由
  • 路由檢測(中間流程很復雜 略)
  • 路由調度對象think\route\Dispatch初始化
  • 設置當前請求的控制器和操作名
  • 注冊路由中間件
  • 綁定數據模型
  • 設置路由額外參數
  • 執行數據自動(dòng)驗證
  • 執行路由調度子類(lèi)的exec方法返回響應think\Response對象
  • 獲取當前請求的控制器對象實(shí)例
  • 利用反射機制注冊控制器中間件
  • 執行控制器方法以及前后置中間件
  • 執行當前響應對象的send方法輸出
  • 執行HTTP應用對象的end方法善后
  • 監聽(tīng)HttpEnd事件
  • 執行中間件的end回調
  • 寫(xiě)入當前請求的日志信息

至此,當前請求流程結束。

聯(lián)系我們

 電話(huà):  13088776721

 傳真: 0931-8484448

 郵箱: 967639@qq.com

  地址: 甘肅省蘭州市城關(guān)區甘家巷68號

欧美日韩一区二区高清免费观看-免费国产在线精品一区二区-欧美日韩综合经典一区二区-精品国产呦系列在线看-国产精品第一页在线