<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>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                # 生命周期 * * * * * 此處講解的是OneBase的生命周期,若對TP5生命周期不了解請先閱讀TP5文檔。 ### 1、入口文件 用戶發起請求會經過應用的入口文件,通常在public目錄下。 入口文件主要做3件事情,初始化框架常量,綁定請求模塊,加載引導文件。 OneBase推薦每個對外訪問的模塊一個入口文件,當然若有需要也可以使用同一個入口文件。 ### 2、系統初始化行為 執行行為定義文件 app/tags.php 下面將依次執行系統行為文件 InitBase.php 進行應用初始化,InitHook.php 進行鉤子插件初始化,AppBegin.php 進行開始信息記錄。 ### 3、公共控制器 進入了控制器層,開始執行公共控制器 ControllerBase.php 公共控制器加載時做了三件事,初始化請求信息,初始化全局靜態資源,初始化響應類型。 ### 4、模塊控制器 公共控制器執行完畢則進入了請求的模塊控制器,在模塊控制器中執行業務邏輯層完成相應的業務邏輯處理,業務邏輯層處理后返回控制器層,由控制器進行模板渲染或請求跳轉。 ### 5、模塊業務層 控制器調用過來由業務層進行業務邏輯處理,業務邏輯可以簡單處理業務返回數據,也可以有很多分支,當然也可以調用函數庫與composer安裝的一些依賴進行數據處理。 ### 6、數據驗證層|系統服務層|數據模型層... 數據驗證層主要做數據合法性驗證,若驗證可能跨模塊可放入公共模塊的驗證層。 系統服務層主要是給系統提供第三方服務,當然也可以是自行研發的服務,如:支付,云儲存,短信 等。 數據模型層則是數據庫表的映射,可通過數據模型操作數據表。 ### 7、數據訪問層 數據訪問層則是指ModelBase,因為幾乎所有的數據庫操作都需要經過此處,目前此處的數據庫訪問操作都是通用的,會自動識別當前訪問的數據模型對象進行相應的表操作,若需要將數據訪問分散不需要自動識別則建議將數據表操作封裝在各表的數據模型文件,通用部分封裝在各模型層的基類文件。 ### 8、響應輸出 以上流程執行完畢后請求原路返回,通過返回的數據進行JSON或模板的渲染響應輸出。 ### 9、應用結束 輸出后則會執行應用結束行為,進行日志的寫入。 OneBase系統生命周期大致就是這樣,當然中途可能會有很多分支及判斷包括權限驗證等,此處不在細分。
                  <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>

                              哎呀哎呀视频在线观看