iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 5
0

新建一個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


上一篇
DAY4: 前進laravel - wagon
下一篇
DAY6: 基礎 Routing
系列文
從0開始-30天摸索laravel31
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言