laravel 應用程序結構
laravel中的應用程序結構基本上是包含在項目中的文件夾,子文件夾和文件的結構。一旦我們在laravel創建了一個項目,我們就可以在這里看到圖中所示的應用程序結構的概述。
這里顯示的快照指的是laravel的根文件夾,即 laravel-project 。它包括各種子文件夾和文件。文件夾和文件的分析及其功能方面如下所示
應用
它是應用程序文件夾,包含項目的完整源代碼。它包含事件,例外和中間件聲明。應用程序文件夾包含各種子文件夾,如下所述 -
安慰
控制臺包含laravel必需的工匠命令。它包含一個名為 commands 的目錄,其中所有命令都用適當的簽名聲明。該文件 kernal.php 調用中聲明的命令 inspire.php 。
如果我們需要在laravel中調用特定的命令,那么我們應該在這個目錄中進行適當的更改。
活動
該文件夾包含項目的所有事件。
事件用于觸發活動,引發錯誤或進行必要的驗證,并提供更大的靈活性。laravel將所有事件保存在一個目錄下。包含的默認文件是 event.php ,其中聲明了所有基本事件。
例外
該文件夾包含處理異常所需的所有方法。它還包含處理所有異常的文件 handle.php 。
http
該 的http 文件夾中有控制器,中間件和應用程序請求的子文件夾。由于laravel遵循mvc設計模式,該文件夾包含為特定目錄定義的模型,控制器和視圖。
所述 中間件 子文件夾包括中間件機構,包括響應和請求之間的過濾器機構和通信。
該 請求 的子文件夾中包含的應用程序的所有請求。
工作
該 作業 目錄維持排隊laravel應用的活動。基礎班級在所有工作中共享,并提供一個中央位置,將他們置于一個屋檐下。
聽眾
監聽器是事件相關的,它們包含用于處理事件和異常的方法。例如,聲明的 登錄 事件包含一個 loginlistener 事件。
政策
策略是包含授權邏輯的php類。laravel包含一項功能,可在該子文件夾內的策略類中創建所有授權邏輯。
供應商
該文件夾包括注冊核心服務器事件和配置laravel應用程序所需的所有服務提供者。
引導
該文件夾包含所有應用程序引導腳本。它包含一個子文件夾,即緩存,其中包含與緩存web應用程序相關的所有文件。您還可以找到文件 app.php ,它初始化bootstrap所需的腳本。
配置
所述 配置 文件夾包括各種配置和用于laravel應用的順利運作所需的相關參數。包含在config文件夾中的各種文件如圖所示。文件名按照與它們相關的功能工作。
數據庫
顧名思義,該目錄包含數據庫功能的各種參數。它包括三個如下所示的子目錄 -
- 種子 - 包含用于單元測試數據庫的類。
- 遷移 - 此文件夾有助于查詢遷移web應用程序中使用的數據庫。
- 工廠 - 此文件夾用于生成大量數據記錄。
上市
它是幫助初始化laravel應用程序的根文件夾。它包括以下文件和文件夾 -
- .htaccess - 該文件給出服務器配置。
- javascript和css - 這些文件被視為資產。
- index.php - 此文件是web應用程序初始化所必需的。
資源
resources目錄包含增強您的web應用程序的文件。下面解釋了此目錄中包含的子文件夾及其用途 -
- 資產 - 資產文件夾包含文件,例如less和scss,這些文件是web應用程序樣式所需的文件。
- lang - 此文件夾包含本地化或內部化配置。
- 視圖 - 視圖是與最終用戶交互并在mvc體系結構中發揮主要作用的html文件或模板。
存儲
這是存儲laravel項目運行時經常需要的所有日志和必要文件的文件夾。下面給出了該目錄中包含的子文件夾及其用途 -
- 應用程序 - 該文件夾包含連續調用的文件。
- 框架 - 它包含經常被調用的會話,緩存和視圖。
- 日志 - 在此子文件夾中跟蹤所有異常和錯誤日志。
測試
所有的單元測試用例都包含在這個目錄中。命名測試用例類的命名約定是 camel_case, 并按照類的功能遵循約定。
供應商
laravel完全基于composer依賴關系,例如安裝laravel安裝程序或包含第三方庫等。vendor文件夾包含所有的作曲者依賴關系。
除上述文件外,laravel還包含一些其他文件,這些文件在各種功能(如github配置,軟件包和第三方庫)中發揮主要作用。
包含在應用程序結構中的文件如下所示 -