這篇文章主要給大家介紹了關於如何通過View::first使用Laravel Blade的動態模板的相關資料,文中通過範例程式碼介紹的非常詳細,對大家學習或者使用php具有一定的參考學習價值,需要的朋友們來一起看看吧。
前言
本文主要給大家介紹了關於View::first使用Laravel Blade動態模板的相關內容,分享出來供大家參考學習,下面話不多說了,來一起看看詳細的介紹吧。
當建立動態組件或者頁面的時候,有時候我們想當自訂模版存在的時候展示它,否則展示預設的模版。
例如,當我們建立頁面模組的時候,通常需要給“關於我們”和“聯絡我們”自訂模版(如展示照片或者聯絡表單),而“我們的服務”則可以使用預設範本。
我們可以通過一系列的 if 判斷或者使用 view()->exists()
來判斷自訂模板是否存在,然而,Laravel 5.5 為我們帶來了一個更加優雅的方法來實現這個功能。
View::first 的使用
view()->first()
方法可以使我們把下面的代碼
if (view()->exists('custom-template')) { return view('custom-template', $data);} return view('default-template', $data);
替換為更加簡潔的版本:
return view()->first( ['custom-template', 'default-template'], $data);
必須給這個方法的第一個參數傳遞一個數組,當第一個存在的時候,就將使用它。
當然,你可以傳遞任意個數的模版,你甚至還可以使用動態名稱:
return view()->first([ "pages/{$page->slug}", "pages/category-{$page->category->slug}", "pages/default-template"], $data);
此外,你還可以通過 Facade 版本的這個功能:
\View::first($templates, $data)
這個動態選擇模版的 Blade 方法是在 Laravel 5.5 中引入的,使得處理動態模版更加簡潔,不需要額外的條件判斷了。
以上就是本文的全部內容,希望對大家的學習有所協助,更多相關內容請關注topic.alibabacloud.com!