我想應該不少人跟Aidec一樣,剛接觸到laravel時,完全被它的框架目錄結構驚呆了,才剛裝好laravel竟然就有如此多的檔案與目錄。

對於初學者來說,會根本不知道該從何下手。接著下來就一一講解各個目錄與檔案的用途吧~

假如尚未安裝Laravel 可以參閱此篇:

在win10安裝Laravel5教學

Laravel 目錄結構

剛安裝好Laravel的檔案目錄結構大概長下圖這樣。不同的版本檔案結構可能會有些差異。但基本上不會相差太多。

laravel 之所以檔案目錄結構會比其它框架分的細的原因,在於它已經將一般大家開發上常用的目錄先分類好了。

為的是避免不同的人有不同的開發習慣,把相似的東西放到不同的目錄去,造成結構混亂。

所以 laravel 先預設好目錄,制定一個統一標準,給予系統一個良好的結構。當然,目錄結構也是可以開發者的喜好去調整的。

01.JPG

laravel 目錄結構簡介

目錄

目錄說明
app[重要] 整個專案的程式都會放在這裡。
bootstrap放置初始化框架的啟用程式,包含驅動框架、自動載入配置檔 。還有一個 cache 資料夾,是用來放置加快框架啟用的快取文件
config用來放置框架與其它服務的設定檔。(例如:專案的應用設定、session、資料庫、快取設定)
database資料庫相關
public

網站的進入點目錄,public/index.php 為整個專案入口點。

一般MVC框架會以根目錄index.php為網站進入點,但laravel為保護應用不被直接存取,所以建議將網站的根目錄指向public。

靜態資源(css、js、image)放置在這裡。

resources放置views(視圖) 、 lang(語系檔) 、 asset (原始資源檔:例如未編譯的檔案,less、sass...)
routes路由目錄。網站路由規則配置。
storage包含編譯後的 Blade 模板,檔案的 session、檔案快取和其他框架產生的檔案。這邊的檔案大多是系統自動產生的。
tests放置自動化測試相關檔案。
vendor透過composer安裝的模組都放在此處。裡面有內建一些相依套件。

檔案

檔案說明
.env[重要] 環境配置文件。可以把它當作是頂級的config配置檔。 在config 目錄裡許多配置都會使用到此文件的參數。
.env.example空白的.env 文件。如果安裝時沒有自動產生 .env ,可以複製此文件,手動產生 .env 文件。
.gitattributesgit 文件
.gitignoregit 文件
.htaccessapache 配置檔。預設是沒有這個文件的。
artisanlaravel 內建的cli命令列工具。可以透過指令,來加速專案開發的速度。
composer.jsoncomposer 文件
composer.lockcomposer 文件
package.jsongulp 文件
phpunit.xmlphpunit 文件
readme.mdlaravel 簡介 (markdown格式)
server.php使用php 內建的web server 會以此文件作為進入點。在正式環境基本上用不到。
webpack.mix.jslaravel webpack 配置文件

App目錄

02.JPG


目錄說明
Console自定義的artisan指令放在這邊。
Exceptions自定義錯誤、例外類
Http應用程式的控制器、請求、中介層。程式的應用邏輯寫在這裡。
Providers應用的服務提供器。 至於服務提供器是什麼,之後章節再介紹。
User.php

內建的模型實例,我們新建的Model預設也儲存在此目錄



未完待續~


文章轉載或引用,請先告知並保留原文出處與連結!!(單純分享或非營利的只需保留原文出處,不用告知)

原文連結:
https://blog.aidec.tw/post/laravel-dir