Skip to main content

前言

從路由或 controller 以字串形式回傳整份 HTML 文件並不實際。 使用 view 就能將所有 HTML 寫在獨立檔案。 View 將 controller、應用邏輯與呈現邏輯分離,存放於 resources/views 目錄。 Laravel 通常以 Blade 樣板語言 撰寫 view。
此 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

View facade 的 first 方法,可從 view 陣列中回傳第一個存在的 view。

確認 view 是否存在

要確認 view 是否存在,用 View facade 的 exists 方法。

傳遞資料給 View

如前例所示,可將資料陣列傳入 view,於 view 中使用該資料。
此方式的資料需為鍵值對陣列。 於 view 內可用資料的 key 存取每個值。 也可用 with 方法逐個新增資料。 with 方法回傳 view 物件實例,可用 method chain。

對所有 view 共享資料

若要對所有 view 共享資料,使用 View facade 的 share 方法。 通常寫在 service provider 的 boot 方法中。

View 的最佳化

預設 Blade 樣板 view 會在需要時編譯。 在請求時執行 view 編譯處理,效能上可能會有些微影響。 view:cache Artisan 指令可預先編譯應用所使用的所有 view。 建議作為部署流程的一部分執行。
要清除 view 快取,用以下指令:

後續步驟

Blade 樣板

學習用 Blade 語法建構動態 view 的方式。
最後修改於 2026年8月2日