新建一個laravel專案後,會發現專案資料夾下有許多檔案,分別來釐清一下有哪些資料夾及需要對應存放的位置
目前這資料結構,不用說需要背起來或者立刻理解,後續一一摸索後應該就會自然而然地知道了,只是說在學習之前總要理解一下這玩意的大致結構、大概有哪些內容,以便未來摸索的時候,不是在霧裡摸這樣。
檔案/資料夾 | 作用 |
---|---|
app/ | 網站內的controllers(控制器),model(模型),view(視圖)和 assets都是放在這個資料夾中 |
bootstrap | 目錄放置啟動框架的 app.php 檔案。這個目錄也放置一個 cache 目錄,其中包含框架為效能最佳化所產生的檔案,像是路由和服務快取的檔案。 |
public | public 目錄放置 index.php 檔案,這是進入應用程式並自動載入設定的所有請求的入口。這個目錄也放置你的前端資源,像是圖片、JavaScript 和 CSS。 |
vendor | 放置你的 Composer 依賴項目 |
Config | 放置所有應用程式的設定檔。/config/database.php可以設定資料庫主機的的各項資料。 |
Database | 放置用來資料庫遷移和資料填充的檔案。如果你希望,你也可以使用目錄來存放 SQLite 資料庫。 |
Resources | 放置你的視圖以及原生、尚未編譯過的資源,像是 LESS、SASS 或 JavaScript。這個目錄也放置所有的語系檔案。 |
Routes | 置所有為應用程式定義的路由。web.php、api.php、console.php 和 channels.php。 |
Storage | storage 目錄放置你編譯 Blade 模板、檔案形式的 Session 、檔案快取和其他由框架產生的檔案。 |
tests | 放置你的自動化測試 |
.env | 專案開發環境的設定檔案 |
App /Console | 包含應用程式所有自定義的 Artisan 指令 |
App /Events | 使用 event:generate 或 make:event 指令以後才會被建立 |
App /Http | 控制器、中介層以及表單請求 |
還記得有把apache config 的docment root路徑更改為
{DOCUMENTPATH}/專案名稱/public
對應到上面的結構,public中會放有index.php檔案,所以囉~不管是哪種WAMP(
Windows+Apache+PHP+Mysql) 、LAMP…如果apache沒去修改的話,要注意到public這個部分可能是剛接觸會遇到的問題。
另外還有composer.json & composer.lock 這兩個檔案,一看就是跟composer有關!
Composer.json
Composer執行安裝套件指令時,會參考這個檔案的設定來安裝
Composer.lock
Lock就是有種鎖的感覺,在Composer執行完套件安裝或更新時,會自動產生composer.lock,裡面會記錄套件版本資訊,composer.lock是為了鎖定套件版本並且方便統一所有開發環境的套件版本。
參考資料:
https://docs.laravel-dojo.com/laravel/5.5/structure