你知道這5個(gè)非常有用的Blade指令嗎!

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

下面由Laravel框架教程欄目給大家介紹5 個(gè)非常有用的 Blade 指令,希望對需要的朋友有所幫助!

你知道這5個(gè)非常有用的Blade指令嗎!

接下來我將帶大家認(rèn)識下五個(gè) Laravel Blade 指令,這些指令將讓你在解決特定問題時(shí)如虎添翼。如果你是剛接觸 Laravel 的用戶,這些小技巧能帶你認(rèn)識到 Laravel Blade 模板引擎的便捷與高效。

廢話少說,讓我們開始吧。

1. 檢測用戶是否認(rèn)證

你可以通過驗(yàn)證用戶是否為空來檢測其是否認(rèn)證:

@if(auth()->user())     // 用戶已認(rèn)證 @endif

然而,Laravel 自帶的 Blade 命令可以更簡潔地實(shí)現(xiàn)相同的功能:

@auth     // 用戶已認(rèn)證 @endauth

2. 檢測用戶是否為訪客

與認(rèn)證相反,我們可以用?auth?輔助函數(shù)的?guest()?方法來檢測用戶是否為訪客:

@if(auth()->guest())     // 用戶未認(rèn)證 @endif

不過 Laravel 也為此提供了?@guest?命令:

@guest     // 用戶未認(rèn)證 @endguest

我們也可以使用?else?語句來組合這兩個(gè)命令:

@guest     // 用戶未認(rèn)證 @else     // 用戶已認(rèn)證 @endguest

3. 如果第一個(gè)視圖存在則引入,否則引入第二個(gè)

構(gòu)建多主題站點(diǎn)可能會有一個(gè)文件如果存在就引入,否則就引入另一個(gè)的需要,你可以簡單地使用條件判斷來實(shí)現(xiàn):

@if(view()->exists('first-view-name'))     @include('first-view-name') @else     @include('second-view-name') @endif

不過還是有一個(gè)更簡潔直觀的命令來做這件事:

@includeFirst(['first-view-name', 'second-view-name']);

4. 根據(jù)條件引入視圖

當(dāng)你只想在一定邏輯的基礎(chǔ)上(如:一個(gè)已通過認(rèn)證的用戶)添加一些內(nèi)容的時(shí)候,根據(jù)條件引入視圖就非常有用了。

你可以使用?@if?條件來這樣寫:

@if($post->hasComments())     @include('posts.comments') @endif

我們可以只用一行命令 @includeWhen 來做到:

@includeWhen($post->hasComments(), 'posts.comments');

5. 引入一個(gè)存在的視圖

如果你有自定義主題系統(tǒng)或者你需要?jiǎng)討B(tài)地創(chuàng)建 Blade 視圖,那么檢查文件是否存在就是必須要做的。

可以在輔助函數(shù) view() 上調(diào)用?exists?方法:

@if(view()->exists('view-name'))     @include('view-name') @endif

也可以使用 Blade 命令 ?includeIf 來處理:

@includeIf('view-name')

你可以通過?Blade 官方文檔?了解更多實(shí)用的技巧來優(yōu)化你 Laravel 項(xiàng)目里的前端模板。

重構(gòu)快樂!

原文地址:https://laravel-news.com/five-useful-laravel-blade-directives

譯文地址:https://learnku.com/laravel/t/12328/5-very-useful-blade-designation-which-have-you-used

? 版權(quán)聲明
THE END
喜歡就支持一下吧
點(diǎn)贊5 分享