99热这里只有精品免费播放|狠狠色丁香婷婷综合尤物|国产在线无码色视频大全

<menuitem id="tj6i9"></menuitem>
    <track id="tj6i9"></track>
      1. <track id="tj6i9"></track>
        <track id="tj6i9"></track>
      2. <option id="tj6i9"><span id="tj6i9"></span></option>
        <nobr id="tj6i9"><optgroup id="tj6i9"></optgroup></nobr>
        <nobr id="tj6i9"><optgroup id="tj6i9"></optgroup></nobr>

          <track id="tj6i9"><span id="tj6i9"><em id="tj6i9"></em></span></track>
        1. <bdo id="tj6i9"></bdo>
          <track id="tj6i9"></track>
          1. 公司文化
              

            對于一個HTTP應用來說,從用戶發起請求到響應輸出結束,大致的標準請求流程如下:

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

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

            聯系我們

             電話:  13088776721

             傳真: 0931-8484448

             郵箱: 967639@qq.com

              地址: 甘肅省蘭州市城關區甘家巷68號

            <menuitem id="tj6i9"></menuitem>
            <track id="tj6i9"></track>
              1. <track id="tj6i9"></track>
                <track id="tj6i9"></track>
              2. <option id="tj6i9"><span id="tj6i9"></span></option>
                <nobr id="tj6i9"><optgroup id="tj6i9"></optgroup></nobr>
                <nobr id="tj6i9"><optgroup id="tj6i9"></optgroup></nobr>

                  <track id="tj6i9"><span id="tj6i9"><em id="tj6i9"></em></span></track>
                1. <bdo id="tj6i9"></bdo>
                  <track id="tj6i9"></track>