前言
從路由或 controller 以字串形式回傳整份 HTML 文件並不實際。 使用 view 就能將所有 HTML 寫在獨立檔案。 View 將 controller、應用邏輯與呈現邏輯分離,存放於resources/views 目錄。
Laravel 通常以 Blade 樣板語言 撰寫 view。
resources/views/greeting.blade.php,可用全域 view helper 回傳。
建立 View
要建立 view,在resources/views 目錄放上 .blade.php 副檔名的檔案,或使用 Artisan 指令。
.blade.php 副檔名告訴框架該檔案含有 Blade 樣板。
回傳 View
建立 view 後,可從路由或 controller 用全域view helper 回傳。
View facade 回傳。
view helper 的第 1 個引數對應 resources/views 目錄中的 view 檔名。
第 2 個引數為 view 內可用的資料陣列。
巢狀 view 目錄
view 可放入resources/views 的子目錄中。
以「點」記法參照巢狀 view。
例如放在 resources/views/admin/profile.blade.php 的 view 可如下回傳:
回傳第一個存在的 view
用View facade 的 first 方法,可從 view 陣列中回傳第一個存在的 view。
確認 view 是否存在
要確認 view 是否存在,用View facade 的 exists 方法。
傳遞資料給 View
如前例所示,可將資料陣列傳入 view,於 view 中使用該資料。with 方法逐個新增資料。
with 方法回傳 view 物件實例,可用 method chain。
對所有 view 共享資料
若要對所有 view 共享資料,使用View facade 的 share 方法。
通常寫在 service provider 的 boot 方法中。
View 的最佳化
預設 Blade 樣板 view 會在需要時編譯。 在請求時執行 view 編譯處理,效能上可能會有些微影響。 用view:cache Artisan 指令可預先編譯應用所使用的所有 view。
建議作為部署流程的一部分執行。
後續步驟
Blade 樣板
學習用 Blade 語法建構動態 view 的方式。