1. 程式人生 > >laravel資料夾結構

laravel資料夾結構

Laravel 的資料夾結構

簡介

預設的 Laravel 應用結構旨為不同大小的應用提供一個好的起點。當然,你可以按照喜好管理應用的目錄結構。Laravel 沒有嚴格地限制任何給定的類的位置,只要它們能被 Composer 自動載入就可以了。

 

為什麼沒有模型目錄?

當我們使用 Laravel 時,會發現因缺少 models 目錄而感到困惑。然而,缺少這樣的目錄是故意的。我們發現「模型」含糊不清,因為不同的人對「模型」有不同的理解。一些開發者把應用的「模型」稱為其所有業務邏輯的總體,而另一些人將「模型」稱為與關係資料庫互動的類。

因此,框架預設把 Eloquent(愛咯苦特) 的模型放在 app 目錄下,並且允許我們自行選擇把「模型」放置在何處。

我一般都是把模型放在app目錄下

根目錄

App 目錄

app 目錄包含應用程式的核心程式碼。你應用中幾乎所有的類都應該放在這裡。這個目錄下包含了控制器 包括我的模型也在這個下面寫著

 

Bootstrap 目錄

bootstrap 目錄包含啟動框架的 app.php 檔案. 該目錄還包含了一個 cache 目錄,cache 目錄下存放著框架生成的用來提升效能的檔案,比如路由和服務快取檔案。

Config 目錄

config 目錄,顧名思義,包含應用程式所有的配置檔案。

Database 目錄

database 目錄包含資料填充和遷移檔案以及模型工廠類。你還可以把它作為 SQLite 資料庫存放目錄。

Public 目錄

public 目錄包含了入口檔案index.php,它是進入應用程式的所有請求的入口點。此目錄還包含了一些你的資原始檔(如圖片、JavaScript 和 CSS)。我一般套模板的時候都是使用asset這個函式  我配置域名的時候直接配置到了public下 然後我把css js 圖片打包成一個資料夾  然後在我需要用到這些css之類的東西 直接使用asset裡面是資料夾的名字。就可以成功呼叫了

Resources 目錄

resource 目錄包含了檢視和未編譯的資原始檔(比如說javascript)此目錄還包含你所有的語言檔案。比如檢視就是放在這個資料夾下。

Routes 目錄

routes 目錄包含了應用的所有路由定義,Laravel 預設包含了幾個路由檔案:web.php、api.php、 console.php 和 channels.php。

web.php 它提供會話狀態、CSRF 防護和 cookie 加密。如果你的應用不提供無狀態的、REST風格的 API,則所有的路由都應該在 web.php 檔案中定義。.

api.php 檔案包含 RouteServiceProvider 放置在 api 中介軟體組中的路由,它提供了頻率限制。這些路由都是無狀態的,所以通過這些路由進入應用請求旨在通過令牌進行身份認證,並且不能訪問會話狀態。

console.php 檔案是定義所有基於控制檯命令閉包函式的地方。每個閉包函式都被繫結到一個命令例項並且允許和命令列 IO 方法進行簡單的互動。儘管這些檔案沒有定義 HTTP 路由,但它也將基於控制檯的入口點(路由)定義到應用程式中。

channels.php 用來註冊你的應用支援的所有的事件廣播渠道的地方。

 

Storage 目錄

storage 目錄包含編譯後的 Blade 模板、session 會話生成的檔案、快取檔案以及框架生成的其他檔案。這個目錄被細分成 app 、 framework 和 logs 三個子目錄。app 目錄可以用來儲存應用生成的任何檔案。 framework目錄用來儲存框架生成的檔案和快取。最後, logs 目錄包含應用的日誌檔案。

 

Tests 目錄

tests 目錄包含自動化測試檔案。每個測試類都應該以 Test 作為字尾。你可以使用 phpunit命令來執行測試。

Vendor 目錄

vendor 目錄包含你所有的 Composer 依賴包。

App 目錄詳情

Console 目錄

Console 目錄包含了所有自定義的 Artisan 命令。這個目錄還包含了控制檯核心,控制檯核心可以用來註冊你的自定義 Artisan 命令和你定義的 計劃任務 的地方

Http 目錄

Http 目錄包含了控制器、中介軟體和表單請求。幾乎所有的進入應用的請求的處理邏輯都被放在這裡。

Exceptions 目錄

Exceptions 目錄包含了應用的異常處理器,也是應用丟擲異常的好地方。