如何通過View::first使用Laravel Blade的動態(tài)模板詳解
前言
本文主要給大家介紹了關(guān)于View::first使用Laravel Blade動態(tài)模板的相關(guān)內(nèi)容,分享出來供大家參考學(xué)習(xí),下面話不多說了,來一起看看詳細(xì)的介紹吧。

當(dāng)創(chuàng)建動態(tài)組件或者頁面的時候,有時候我們想當(dāng)自定義模版存在的時候展示它,否則展示默認(rèn)的模版。
例如,當(dāng)我們創(chuàng)建頁面模塊的時候,通常需要給“關(guān)于我們”和“聯(lián)系我們”自定義模版(如展示照片或者聯(lián)系表單),而“我們的服務(wù)”則可以使用默認(rèn)模板。
我們可以通過一系列的 if 判斷或者使用 view()->exists() 來判斷自定義模板是否存在,然而,Laravel 5.5 為我們帶來了一個更加優(yōu)雅的方法來實現(xiàn)這個功能。
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 );
必須給這個方法的第一個參數(shù)傳遞一個數(shù)組,當(dāng)?shù)谝粋€存在的時候,就將使用它。
當(dāng)然,你可以傳遞任意個數(shù)的模版,你甚至還可以使用動態(tài)名稱:
return view()->first([
"pages/{$page->slug}",
"pages/category-{$page->category->slug}",
"pages/default-template"
], $data);
此外,你還可以通過 Facade 版本的這個功能:
\View::first($templates, $data)
這個動態(tài)選擇模版的 Blade 方法是在 Laravel 5.5 中引入的,使得處理動態(tài)模版更加簡潔,不需要額外的條件判斷了。
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。
相關(guān)文章
thinkPHP3.x常量整理(預(yù)定義常量/路徑常量/系統(tǒng)常量)
這篇文章主要介紹了thinkPHP3.x常量,整理總結(jié)了thinkPHP3.x常用的各類常量,包括預(yù)定義常量、路徑常量及系統(tǒng)常量,需要的朋友可以參考下2016-05-05
php基于curl擴(kuò)展制作跨平臺的restfule 接口
這篇文章主要介紹了php基于curl擴(kuò)展制作跨平臺的restfule 接口的相關(guān)資料以及詳細(xì)的代碼,有需要的小伙伴可以參考下。2015-05-05
Laravel框架實現(xiàn)的使用smtp發(fā)送郵件功能示例
這篇文章主要介紹了Laravel框架實現(xiàn)的使用smtp發(fā)送郵件功能,結(jié)合實例形式分析了Laravel框架相關(guān)配置及郵件發(fā)送操作技巧,需要的朋友可以參考下2019-03-03
如何解決PHP使用mysql_query查詢超大結(jié)果集超內(nèi)存問題
這篇文章主要介紹了如何解決PHP使用mysql_query查詢超大結(jié)果集超內(nèi)存問題 的相關(guān)資料,需要的朋友可以參考下2016-03-03
Codeigniter框架實現(xiàn)獲取分頁數(shù)據(jù)和總條數(shù)的方法
這篇文章主要介紹了Codeigniter框架實現(xiàn)獲取分頁數(shù)據(jù)和總條數(shù)的方法,實現(xiàn)了對獲取當(dāng)前頁的數(shù)據(jù)和總條數(shù)方法的封裝,是非常實用的技巧,需要的朋友可以參考下2014-12-12
NativePHP使用PHP創(chuàng)建桌面應(yīng)用程序
這篇文章主要為大家介紹了NativePHP使用PHP創(chuàng)建桌面應(yīng)用程序,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-12-12

