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

當(dāng)創(chuàng)建動(dòng)態(tài)組件或者頁(yè)面的時(shí)候,有時(shí)候我們想當(dāng)自定義模版存在的時(shí)候展示它,否則展示默認(rèn)的模版。
例如,當(dāng)我們創(chuàng)建頁(yè)面模塊的時(shí)候,通常需要給“關(guān)于我們”和“聯(lián)系我們”自定義模版(如展示照片或者聯(lián)系表單),而“我們的服務(wù)”則可以使用默認(rèn)模板。
我們可以通過(guò)一系列的 if 判斷或者使用 view()->exists() 來(lái)判斷自定義模板是否存在,然而,Laravel 5.5 為我們帶來(lái)了一個(gè)更加優(yōu)雅的方法來(lái)實(shí)現(xiàn)這個(gè)功能。
View::first 的使用
view()->first() 方法可以使我們把下面的代碼
if (view()->exists('custom-template')) {
return view('custom-template', $data);
}
return view('default-template', $data);
替換為更加簡(jiǎn)潔的版本:
return view()->first( ['custom-template', 'default-template'], $data );
必須給這個(gè)方法的第一個(gè)參數(shù)傳遞一個(gè)數(shù)組,當(dāng)?shù)谝粋€(gè)存在的時(shí)候,就將使用它。
當(dāng)然,你可以傳遞任意個(gè)數(shù)的模版,你甚至還可以使用動(dòng)態(tài)名稱(chēng):
return view()->first([
"pages/{$page->slug}",
"pages/category-{$page->category->slug}",
"pages/default-template"
], $data);
此外,你還可以通過(guò) Facade 版本的這個(gè)功能:
\View::first($templates, $data)
這個(gè)動(dòng)態(tài)選擇模版的 Blade 方法是在 Laravel 5.5 中引入的,使得處理動(dòng)態(tài)模版更加簡(jiǎn)潔,不需要額外的條件判斷了。
總結(jié)
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來(lái)一定的幫助,如果有疑問(wèn)大家可以留言交流,謝謝大家對(duì)腳本之家的支持。
相關(guān)文章
LAMP環(huán)境使用Composer安裝Laravel的方法
這篇文章主要介紹了LAMP環(huán)境使用Composer安裝Laravel的方法,簡(jiǎn)單分析了Ubuntu服務(wù)器環(huán)境下Composer的安裝及使用Composer安裝Laravel的相關(guān)命令與使用技巧,需要的朋友可以參考下2017-03-03
php判斷用戶(hù)是否關(guān)注微信公眾號(hào)
這篇文章主要為大家詳細(xì)介紹了php判斷用戶(hù)是否關(guān)注微信公眾號(hào),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-07-07
php中的curl使用入門(mén)教程和常見(jiàn)用法實(shí)例
起先cURL是做為一種命令行工具設(shè)計(jì)出來(lái)的,比較幸運(yùn)的是,php也支持cURL了。通過(guò)cURL這個(gè)利器,我們能在php程序中自由地發(fā)送HTTP請(qǐng)求到某個(gè)url來(lái)獲取或者提交數(shù)據(jù),并且支持其它多種協(xié)議,比如FTP,Telnet以及SMTP等。在這篇博文中,我將簡(jiǎn)述下,在php中具體怎么使用cURL來(lái)處理一些事情。2014-04-04
php數(shù)據(jù)序列化測(cè)試實(shí)例詳解
這篇文章主要介紹了php數(shù)據(jù)序列化測(cè)試實(shí)例詳解的相關(guān)資料,主要介紹msgpack、json、serialize對(duì)比,需要的朋友可以參考下2017-08-08
關(guān)于PHP5.6+版本“No input file specified”問(wèn)題的解決
這篇文章主要介紹了關(guān)于PHP5.6+版本“No input file specified”問(wèn)題的解決,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-12-12
關(guān)于Laravel Route重定向的一個(gè)注意點(diǎn)
這篇文章主要給大家介紹了關(guān)于Laravel Route重定向的一個(gè)注意點(diǎn),文中給出了詳細(xì)的示例代碼,有需要的朋友可以參考借鑒,下面來(lái)一起看看吧。2017-01-01

