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