Laravel - 應用結構



Laravel 中的應用程式結構基本上是專案中包含的資料夾、子資料夾和檔案的結構。在 Laravel 中建立一個專案後,我們就可以看到應用程式結構的概述,如下面的圖片所示。

此處顯示的快照指的是 Laravel 的根資料夾,即 **laravel-project**。它包含各種子資料夾和檔案。下面將分析資料夾和檔案及其功能方面。

Root Directory

App

它是應用程式資料夾,包含專案的整個原始碼。它包含事件、異常和中介軟體宣告。app 資料夾包含各種子資料夾,如下所述:

Console

Console 包含 Laravel 必要的 Artisan 命令。它包含一個名為 **Commands** 的目錄,其中所有命令都以相應的簽名宣告。**Kernal.php** 檔案呼叫在 **Inspire.php** 中宣告的命令。

Console

如果我們需要在 Laravel 中呼叫特定命令,則應在此目錄中進行相應的更改。

Events

此資料夾包含專案的所有事件。

Events

事件用於觸發活動、引發錯誤或必要的驗證,並提供更大的靈活性。Laravel 將所有事件儲存在一個目錄下。包含的預設檔案是 **event.php**,其中聲明瞭所有基本事件。

Exceptions

此資料夾包含處理異常所需的所有方法。它還包含 **handle.php** 檔案,該檔案處理所有異常。

Http

**Http** 資料夾包含控制器、中介軟體和應用程式請求的子資料夾。由於 Laravel 遵循 MVC 設計模式,因此此資料夾包含為特定目錄定義的模型、控制器和檢視。

**Middleware** 子資料夾包含中介軟體機制,包括過濾器機制以及響應和請求之間的通訊。

**Requests** 子資料夾包含應用程式的所有請求。

Jobs

**Jobs** 目錄維護 Laravel 應用程式排隊的活動。所有作業共享基類,並提供一箇中心位置將它們放在一個屋簷下。

Listeners

監聽器依賴於事件,它們包含用於處理事件和異常的方法。例如,宣告的 **login** 事件包含 **LoginListener** 事件。

Policies

策略是 PHP 類,其中包含授權邏輯。Laravel 包含一個功能,可以在此子資料夾內的策略類中建立所有授權邏輯。

Providers

此資料夾包含註冊核心伺服器事件並配置 Laravel 應用程式所需的所有服務提供者。

Bootstrap

此資料夾包含所有應用程式引導指令碼。它包含一個名為 **cache** 的子資料夾,其中包含與快取 Web 應用程式相關的所有檔案。您還可以找到 **app.php** 檔案,該檔案初始化引導所需的指令碼。

Config

**config** 資料夾包含 Laravel 應用程式順利執行所需的各種配置和相關引數。config 資料夾中包含的各種檔案如下面的圖片所示。檔名根據其關聯的功能起作用。

Config-folder

Database

顧名思義,此目錄包含資料庫功能的各種引數。它包含以下三個子目錄:

  • **Seeds** - 這包含用於單元測試資料庫的類。

  • **Migrations** - 此資料夾有助於查詢 Web 應用程式中使用的資料庫的遷移。

  • **Factories** - 此資料夾用於生成大量資料記錄。

Public

它是幫助初始化 Laravel 應用程式的根資料夾。它包含以下檔案和資料夾:

  • **.htaccess** - 此檔案提供伺服器配置。

  • **javascript 和 css** - 這些檔案被視為資產。

  • **index.php** - 此檔案是初始化 Web 應用程式所必需的。

Resources

Resources 目錄包含增強 Web 應用程式的檔案。下面解釋了此目錄中包含的子資料夾及其用途:

  • **assets** - assets 資料夾包含 LESS 和 SCSS 等檔案,這些檔案是為 Web 應用程式設定樣式所必需的。

  • **lang** - 此資料夾包含本地化或國際化的配置。

  • **views** - 檢視是與終端使用者互動的 HTML 檔案或模板,並在 MVC 架構中發揮主要作用。

請注意,resources 目錄將被展平,而不是包含 assets 資料夾。下面顯示了相同的圖形表示:

Resource Directory Changes

Storage

這是儲存所有日誌和必要檔案的資料夾,這些檔案在 Laravel 專案執行時經常需要。下面給出此目錄中包含的子資料夾及其用途:

  • **app** - 此資料夾包含依次呼叫的檔案。

  • **framework** - 它包含經常呼叫的會話、快取和檢視。

  • **Logs** - 所有異常和錯誤日誌都跟蹤在此子資料夾中。

Tests

所有單元測試用例都包含在此目錄中。測試用例類的命名約定為 **camel_case**,並遵循與類功能一致的約定。

Vendor

Laravel 完全基於 Composer 依賴項,例如安裝 Laravel 設定或包含第三方庫等。Vendor 資料夾包含所有 Composer 依賴項。

除了上述檔案外,Laravel 還包含一些其他檔案,這些檔案在各種功能中發揮主要作用,例如 GitHub 配置、包和第三方庫。

應用程式結構中包含的檔案如下所示:

Files
廣告

© . All rights reserved.