您好,登錄后才能下訂單哦!
這篇文章給大家介紹Laravel 中有哪些Blade指令,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。
1. 檢測用戶是否認證
你可以通過驗證用戶是否為空來檢測其是否認證:
@if(auth()->user()) // 用戶已認證 @endif
然而,Laravel 自帶的 Blade 命令可以更簡潔地實現相同的功能:
@auth // 用戶已認證 @endauth
2. 檢測用戶是否為訪客
與認證相反,我們可以用 auth 輔助函數的 guest() 方法來檢測用戶是否為訪客:
@if(auth()->guest()) // 用戶未認證 @endif
不過 Laravel 也為此提供了 @guest 命令:
@guest // 用戶未認證 @endguest
我們也可以使用 else 語句來組合這兩個命令:
@guest // 用戶未認證 @else // 用戶已認證 @endguest
3. 如果第一個視圖存在則引入,否則引入第二個
構建多主題站點可能會有一個文件如果存在就引入,否則就引入另一個的需要,你可以簡單地使用條件判斷來實現:
@if(view()->exists('first-view-name')) @include('first-view-name') @else @include('second-view-name') @endif
不過還是有一個更簡潔直觀的命令來做這件事:
@includeFirst(['first-view-name', 'second-view-name']);
4. 根據條件引入視圖
當你只想在一定邏輯的基礎上(如:一個已通過認證的用戶)添加一些內容的時候,根據條件引入視圖就非常有用了。
你可以使用 @if 條件來這樣寫:
@if($post->hasComments()) @include('posts.comments') @endif
我們可以只用一行命令 @includeWhen 來做到:
@includeWhen($post->hasComments(), 'posts.comments');
5. 引入一個存在的視圖
如果你有自定義主題系統或者你需要動態地創建 Blade 視圖,那么檢查文件是否存在就是必須要做的。
可以在輔助函數 view() 上調用 exists 方法:
@if(view()->exists('view-name')) @include('view-name') @endif
也可以使用 Blade 命令 includeIf 來處理:
@includeIf('view-name')
關于Laravel 中有哪些Blade指令就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。