下面由Laravel框架教程欄目給大家介紹5 個非常有用的 Blade 指令,希望對需要的朋友有所幫助!
接下來我將帶大家認識下五個 Laravel Blade 指令,這些指令將讓你在解決特定問題時如虎添翼。如果你是剛接觸 Laravel 的用戶,這些小技巧能帶你認識到 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')
你可以通過?Blade 官方文檔?了解更多實用的技巧來優化你 Laravel 項目里的前端模板。
重構快樂!
原文地址:https://laravel-news.com/five-useful-laravel-blade-directives
譯文地址:https://learnku.com/laravel/t/12328/5-very-useful-blade-designation-which-have-you-used