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

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                【主流框架原理】 ## Laravel的請求周期可以分成6步驟 1.注冊類文件,自動加載預設文件 2.創建服務容器 3.創建 HTTP / Console 內核 4.載入服務提供者到容器 5.分發請求 6.發送響應并結束 Laravel是單一入口方式,所有的數據請求都需要經過public/index.php的文件, 首先會檢測是否處于維護階段(maintenance.php) ### 1.注冊類文件自動加載器 Laravel然后通過composer進行依賴管理,從composer的autoload.php文件里面自動預加載設置好的文件 ### 2.創建服務容器 index.php加載和運行bootstrap/app.php文件,獲取應用實例,創建服務容器(函數方法,類等的代碼結構體)。 ### 3.創建 HTTP / Console 內核 - 各種配置和中間件 HTTP內核 繼承自Illuminate\Foundation\Http\Kernel類,該類定義了一個bootstrappers數組,該數組中的類在請求被執行前運行,bootstrappers配置了錯誤處理、日志、檢測應用環境、其他在請求被處理前需要處理的任務。 ### 4.載入服務提供者到容器- config/app.php的providers數組 內核啟動會為應用載入服務提供者,服務提供者都被配置在config/app.php配置文件的providers數組中。服務提供者被注冊后,boot方法被調用。 服務提供者負責啟動框架的所有組件,如數據庫、隊列、驗證器、路由組件等。因他們啟動并配置框架提供的所有特性,服務提供者是整個Laravel啟動過程中最重要部分。 ### 5.分發請求 一旦應用被啟動且所有服務提供者被注冊,Request將會被交給路由器進行分發,路由器將會分發請求到路由或控制器,同時運行所有路由指定的中間件。 ### 6.發送響應和結束 Laravel的設計模式 依賴注入。如User 控制器依賴 UserModel,實例化的時候,直接注入。 服務容器通過依賴注入,實現靈活的高度解耦 門面:在服務提供者上面再封裝一層靜態調用,提供一個靜態類調用容器中的綁定對象作用 參考: https://learnku.com/laravel/t/1954/on-laravel-design-pattern https://blog.csdn.net/weixin_42980713/article/details/84997338 ## CodeIgniter的框架設計 常見的框架配置都用,相對Laravel就沒有復雜的設計思想。如依賴注入,服務容器,門面這些思想概念。 常見的框架配置:MVC分層,路由,ORM操作數據庫,分頁,Email類庫,緩存,CSRF安全設置等 Laravel和CodeIgniter的區別: 1.Laravel加入依賴注入,容器,門面的概念,開發起來更加靈活,顯得更加先進,但也增加了復雜度 2.Laravel預設使用composer進行依賴管理,代碼注釋書寫更為規范,開發方式更優雅 3.除了通用的框架功能配置外,Laravel顯得更為強大,如模板引擎,CodeIgniter的預設模板是php后續,Laravel的是blade.php模板,可讀性更高,運行的時候直接變為html緩存,速度更快。 4.Laravel的route更為強大和嚴謹,必須指定route函數才可以訪問指定的路徑文件,CodeIgniter可以依據URL的參數來訪問框架的路徑文件 【自建框架的設計】 【解決的需求】 1.原生PHP框架中,最快的響應速度 2.單一入口,統一配置。一次配置,方便共用 3.路由。一個參數路徑,自動到達指定類文件的方法函數 4.安全防護。prepare防SQL注入 自建框架使用的魔術方法 1.\_\_construct 參考: 魔術常量:https://www.cnblogs.com/ghjbk/p/6963584.html https://segmentfault.com/a/1190000007250604 https://www.cnblogs.com/wanglijun/p/10926303.html 自建框架使用的設計模式 單例模式:創建唯一的數據庫連接對象。應用:數據庫連接,單入口的預加載項 工廠模式:動態創建類(new)。應用:解析路由,獲取不同的controller文件 參考: https://blog.csdn.net/jeremy_ke/article/details/89000003 https://www.cnblogs.com/yuanwanli/p/8796402.html 【關鍵詞】 依賴管理:通過命名對文件路徑進行關系管理,必要時會自動下載必須的內容 參考: https://www.cnblogs.com/XiongMaoMengNan/p/6644892.html https://www.jianshu.com/p/c61de0943556
                  <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>

                              哎呀哎呀视频在线观看