<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                ## HTTP請求流程 對于一個HTTP應用來說,從用戶發起請求到響應輸出結束,大致的標準請求流程如下: * 載入`Composer`的自動加載`autoload`文件 * 實例化系統應用基礎類`think\App` * 獲取應用目錄等相關路徑信息 * 加載全局的服務提供`provider.php`文件 * 設置容器實例及應用對象實例,確保當前容器對象唯一 * 從容器中獲取`HTTP`應用類`think\Http` * 執行`HTTP`應用類的`run`方法啟動一個`HTTP`應用 * 獲取當前請求對象實例(默認為 `app\Request` 繼承`think\Request`)保存到容器 * 執行`think\App`類的初始化方法`initialize` * 加載環境變量文件`.env`和全局初始化文件 * 加載全局公共文件、系統助手函數、全局配置文件、全局事件定義和全局服務定義 * 判斷應用模式(調試或者部署模式) * 監聽`AppInit`事件 * 注冊異常處理 * 服務注冊 * 啟動注冊的服務 * 加載全局中間件定義 * 監聽`HttpRun`事件 * 執行全局中間件 * 執行路由調度(`Route`類`dispatch`方法) * 如果開啟路由則檢查路由緩存 * 加載路由定義 * 監聽`RouteLoaded`事件 * 如果開啟注解路由則檢測注解路由 * 路由檢測(中間流程很復雜 略) * 路由調度對象`think\route\Dispatch`初始化 * 設置當前請求的控制器和操作名 * 注冊路由中間件 * 綁定數據模型 * 設置路由額外參數 * 執行數據自動驗證 * 執行路由調度子類的`exec`方法返回響應`think\Response`對象 * 獲取當前請求的控制器對象實例 * 利用反射機制注冊控制器中間件 * 執行控制器方法以及前后置中間件 * 執行當前響應對象的`send`方法輸出 * 執行HTTP應用對象的`end`方法善后 * 監聽`HttpEnd`事件 * 執行中間件的`end`回調 * 寫入當前請求的日志信息 至此,當前請求流程結束。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看