<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智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                [TOC] ### **1、簡介** 當我們使用現實世界中的任何工具時,如果理解了該工具的工作[原理](http://laravelacademy.org/tags/%e5%8e%9f%e7%90%86 "View all posts in 原理"),那么用起來就會得心應手,應用開發也是如此。當你理解了開發工具如何工作,用起來就會更加游刃有余。 本[文檔](http://laravelacademy.org/tags/%e6%96%87%e6%a1%a3 "View all posts in 文檔")的目標就是從一個更好、更高層面向你闡述?[Laravel](http://laravelacademy.org/tags/laravel "View all posts in Laravel")?框架的工作原理。通過對框架更全面的了解,一切都不再那么神秘,你將會更加自信的構建應用。 如果你不能馬上理解所有這些條款,不要失去信心!先試著掌握一些基本的東西,你的知識將會隨著對本文檔的探索而不斷提高。 ### **2、[生命周期](http://laravelacademy.org/tags/%e7%94%9f%e5%91%bd%e5%91%a8%e6%9c%9f "View all posts in 生命周期")概覽** #### **第一件事** Laravel 應用的所有[請求](http://laravelacademy.org/tags/%e8%af%b7%e6%b1%82 "View all posts in 請求")入口都是?`public/index.php`?文件,所有請求都會被web服務器(Apache/Nginx)導向這個文件。?`index.php`?文件包含的代碼并不多,但是,這里是加載框架其它部分的起點。 `index.php`?文件載入 Composer 生成的自動加載設置,然后從?`bootstrap/app.php`?腳本獲取 Laravel 應用實例,Laravel 的第一個動作就是創建服務容器實例。 #### **HTTP/Console 內核** 接下來,請求被發送到 HTTP 內核或 Console 內核,這取決于進入應用的請求類型。這兩個內核是所有請求都要經過的中央處理器,現在,就讓我們聚焦在位于?`app/Http/Kernel.php`?的 HTTP 內核。 HTTP 內核繼承自?`Illuminate\Foundation\Http\Kernel`?類,該類定義了一個?`bootstrappers`?數組,這個數組中的類在請求被執行前運行,這些?`bootstrappers`?配置了錯誤處理、日志、檢測應用環境以及其它在請求被處理前需要執行的任務。 HTTP 內核還定義了一系列所有請求在處理前需要經過的 HTTP 中間件,這些中間件處理 HTTP 會話的讀寫、判斷應用是否處于維護模式、驗證 CSRF 令牌等等。 HTTP 內核的標志性方法?`handle`?處理的邏輯相當簡單:獲取一個 Request,返回一個 Response,把該內核想象作一個代表整個應用的大黑盒子,輸入 HTTP 請求,返回 HTTP 響應。 **[服務提供者](http://laravelacademy.org/tags/%e6%9c%8d%e5%8a%a1%e6%8f%90%e4%be%9b%e8%80%85 "View all posts in 服務提供者")** 內核[啟動過程](http://laravelacademy.org/tags/%e5%90%af%e5%8a%a8%e8%bf%87%e7%a8%8b "View all posts in 啟動過程")中最重要的動作之一就是為應用載入服務提供者,應用的所有服務提供者都被配置在?`config/app.php`配置文件的 ?`providers`?數組中。首先,所有提供者的?`register`?方法被調用,然后,所有提供者被注冊之后,`boot`?方法被調用。 服務提供者負責啟動框架的所有各種各樣的組件,比如數據庫、隊列、驗證器,以及路由組件等,正是因為他們啟動并配置了框架提供的所有特性,服務提供者是整個 Laravel 啟動過程中最重要的部分。 **分發請求** 一旦應用被啟動并且所有的服務提供者被注冊,Request 將會被交給路由器進行分發,路由器將會分發請求到路由或控制器,同時運行所有路由指定的中間件。 ### **3、聚焦服務提供者** 服務提供者是啟動 Laravel 應用中最關鍵的部分,應用實例被創建后,服務提供者被注冊,請求被交給啟動后的應用進行處理,整個過程就是這么簡單! 對 Laravel 應用如何通過服務提供者構建和啟動有一個牢固的掌握非常有價值,當然,應用默認的服務提供者存放在`app/Providers`?目錄下。 默認情況下,`AppServiceProvider`?是空的,這里是添加自定義啟動和服務容器綁定的最佳位置,當然,對大型應用,你可能希望創建多個服務提供者,每一個都有著更加細粒度的啟動。
                  <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>

                              哎呀哎呀视频在线观看