1-5.Laravel框架之目錄介紹
目錄結構分析
(1)app目錄:專案的核心目錄,主要用於存放核心程式碼,也包括控制器、模型以及路由。
控制器存放位置:
模型檔案存放位置,模型檔案直接寫在app目錄下即可,但是也可以在該目錄下建立Model目錄,我們一般會在Http目錄下建立一個Models目錄。
(2)bootstrap目錄,laravel啟動目錄
autoload.php檔案用於自動載入需要的類檔案。
(3)config目錄,專案的配置目錄,主要存放配置檔案,比如資料庫的配置
(4)database目錄,資料遷移目錄
目錄包含了資料遷移及填充檔案,就是使用檔案的方式,來管理資料庫,建立一個PHP檔案,在檔案中設計表結構,執行該檔案,完成表的建立。
(5)public目錄,專案的入口檔案和系統的靜態資源目錄(css,img,js,uploads)
(6)resources目錄,存放檢視檔案
(7)routes目錄中的web.php檔案是定義路由,
laravel中所有的訪問,都必須事先定義好路由
(8)storage目錄,主要是存放快取檔案和日誌檔案,注意,如果在linux環境下,該目錄需要有可寫許可權。
(9)vendor目錄,主要是存放第三方的類庫檔案,laravel思想主要是共同的開發,不要重複的造輪子(例如,裡面可能存在驗證碼類,上傳類,郵件類),該目錄還存放laravel框架的原始碼。注意如果要使用composer軟體管理的,composer下載的類庫都是存放在該目錄下面的。
(10).env檔案:主要是設定一些系統相關的環境配置檔案資訊。config目錄裡面的檔案配置內容一般都是讀取該檔案裡面的配置資訊(config裡面的配置項的值基本都是來自.env檔案)。
(11)artisan腳手架檔案,主要用於生成的程式碼的,比如生成控制器,模型檔案等。
執行此命令有2點要求
(a)、php必須新增環境變數,並且保證版本能是laravel所要求的版本。
(b)、執行命令時,註冊artisan檔案必須存在當前命令路徑下。
(12)composer.json依賴包配置檔案
目錄詳細描述彙總:
App目錄
app目錄包含了應用的核心程式碼
Bootstrap目錄
bootstrap目錄包含了少許檔案,用於框架的啟動和自動載入配置,還有一個cache資料夾用於包含框架為提升效能所生成的檔案,如路由和服務快取檔案;
Config目錄
config目錄包含了應用所有的配置檔案,建議通讀一遍這些配置檔案以便熟悉所有配置項;
Database目錄
database目錄包含了資料遷移及填充檔案,如果你喜歡的話還可以將其作為 SQLite 資料庫存放目錄;
Public目錄
public目錄包含了入口檔案index.php和前端資原始檔(圖片、JavaScript、CSS等);
Resources目錄
resources目錄包含了檢視檔案及原生資原始檔(LESS、SASS、CoffeeScript),以及本地化檔案;
Storage目錄
storage目錄包含了編譯過的Blade模板、基於檔案的session、檔案快取,以及其它由框架生成的檔案,該目錄被細分為成app、framework和logs子母錄,app目錄用於存放應用要使用的檔案,framework目錄用於存放框架生成的檔案和快取,最後,logs目錄包含應用的日誌檔案;
Tests目錄
tests目錄包含自動化測試,其中已經提供了一個開箱即用的PHPUnit示例;每一個測試類都要以 Test 開頭,你可以通過 phpunit 或 php vendor/bin/phpunit 命令來執行測試。
Routes目錄
routes 目錄包含了應用的所有路由定義。Laravel預設提供了三個路由檔案:web.php、api.php和console.php。
web.php檔案包含的路由都會應用web中介軟體組,具備Session、CSRF防護以及Cookie加密功能,如果應用無需提供無狀態的、RESTful風格的API,所有路由都會定義在web.php檔案。
api.php 檔案包含的路由應用了api中介軟體組,具備頻率限制功能,這些路由是無狀態的,所以請求通過這些路由進入應用需要通過token進行認證並且不能訪問Session狀態。
console.php 檔案用於定義所有基於閉包的控制檯命令,每個閉包都被繫結到一個控制檯命令並且允許與命令列IO方法進行互動,儘管這個檔案並不定義HTTP路由,但是它定義了基於控制檯的應用入口(路由)。
Vendor目錄
vendor目錄包含Composer依賴。