<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之旅 廣告
                * * * * * [TOC] ## 介紹 使用「現實世界」中的任何工具時,如果理解這個工具的運作原理,那么你會更加得心應手的使用這個工具。應用開發也是這樣。當你明白你的開發工具如何運行的,你就會對它們的使用游刃有余。 這篇文檔的目的是讓你更好的理解 Laravel 框架如何進行工作及它的工作原理。通過對框架進行全面的了解,一切都不會那么「神奇」,也將會讓你更有自信的構建你的應用。如果你不能理解所有的這些術語,也不要喪失信心!只要對現在提到的東西有個基本概念,隨著對本文檔和其他章節的不斷探索,你對它們的理解會不斷提升。 ## 生命周期概述 ### 第一件事 一個 Laravel 應用的所有請求的入口都是?`public/index.php`?文件。 通過網頁服務器 (Apache / Nginx) 所有請求都會導向這個文件。?`index.php`?文件沒有太多的代碼,只是加載框架其他部分的一個入口。 `index.php`?文件載入 Composer 生成的自動加載器定義,并從?`bootstrap/app.php`?文件獲取到 Laravel 應用實例。Laravel 的第一個動作就是創建一個自身應用實例 /?[服務容器](服務容器.md)。 ### HTTP / Console 內核 接下來,傳入的請求會被發送給 HTTP 內核或者 console 內核,這根據進入應用的請求的類型而定。這兩個內核服務是所有請求都經過的中樞。讓我們現在只關注位于?`app/Http/Kernel.php`?的 HTTP 內核。 HTTP 內核繼承自?`Illuminate\Foundation\Http\Kernel`?類,它定義了一個?`bootstrappers`?數組,數組中的類在請求真正執行前進行前置執行。 這些引導程序配置了錯誤處理,日志記錄,[檢測應用程序環境](配置信息.md),以及其他在請求被處理前需要完成的工作。 HTTP 內核同時定義了一個 HTTP?[中間件](中間件.md)?列表,所有的請求必須在處理前通過這些中間件,這些中間件處理?[HTTP session](Session.md)?的讀寫,判斷應用是否在維護模式,?[驗證 CSRF token](CSRF保護.md)?等等。 HTTP 內核的標志性?`handle`?方法是相當簡單的:接收一個?`Request`?并返回一個?`Response`。你可以把內核想成一個代表你應用的大黑盒子。給它喂 HTTP 請求然后它就會吐給你 HTTP 響應。 #### 服務提供者 在內核引導啟動的過程中最重要的動作之一就是載入?[服務提供者](服務提供者.md)?到你的應用。所有的服務提供者都配置在?`config/app.php`?文件中的?`providers`?數組中。 首先,所有提供者的?`register`?方法會被調用,接下來,一旦所有提供者注冊完成,`boot`?方法將會被調用。 服務提供者負責引導啟動框架的全部各種組件,例如數據庫、隊列、驗證器以及路由組件。因為這些組件引導和配置了框架的各種功能,所以服務提供者是整個 Laravel 啟動過程中最為重要的部分。 #### 分發請求 一旦應用完成引導和所有服務提供者都注冊完成,`Request`?將會移交給路由進行分發。路由將分發請求給一個路由或控制器,同時運行路由指定的中間件。 ## 聚焦服務提供者 服務提供者是 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>

                              哎呀哎呀视频在线观看