如何通過View::first使用Laravel Blade的動態模板

來源:互聯網
上載者:User
這篇文章主要給大家介紹了關於如何通過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!

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.