簡介
Laravel Folio 是一款只要放置 Blade 檔案就能定義路由的頁面式路由器。 不同於傳統以routes/web.php 為主的定義方式,它會將檔案系統的結構直接對應到 URL。
尤其適合以內容為中心的網站,或想快速新增頁面的後台。
若需要如 API 般細緻的 HTTP 控管,實務上仍建議與一般路由並用。
安裝
先透過 Composer 加入 Folio。folio:install 會註冊 Folio 的服務提供者。
預設頁面目錄為 resources/views/pages/。
若要同時處理多個頁面目錄或不同 base URI,可在服務提供者的 boot 內以 Folio::path() 與 uri() 進行設定。
建立路由
Folio 會由掛載目錄下的 Blade 檔名自動生成 URL。巢狀路由
若巢狀資料夾,URL 也會依相同結構巢狀。Index 路由
index.blade.php 會對應到該目錄的根路徑。
路由參數
在檔名中以[] 接收 URL segment。
...。
路由模型繫結
若寫成[User].blade.php 這樣使用模型名,會自動解析模型。
withTrashed()。
可寫成
[Post:slug].blade.php,用 id 以外的鍵(例如 slug)解析模型。中介軟體
若只想套用到特定頁面,可在頁面樣板中呼叫middleware()。
Folio::path(...)->middleware()。
命名路由
Folio 頁面也能透過name() 命名。
若在
users/[User].blade.php 這類單頁定義 name('users.show'),即可用 route('users.show', ['user' => $user]) 產生附參數的 URL。route() 輔助函式產生 URL。