接下來我將帶你們認識下五個 Laravel Blade 指令,這些指令將讓你在解決特定問題時如虎添翼。若是你是剛接觸 Laravel 的用戶,這些小技巧能帶你認識到 Laravel Blade 模板引擎的便捷與高效。前端
廢話少說,讓咱們開始吧。laravel
你能夠經過驗證用戶是否爲空來檢測其是否定證:函數
@if(auth()->user()) // 用戶已認證 @endif
然而,Laravel 自帶的 Blade 命令能夠更簡潔地實現相同的功能:post
@auth // 用戶已認證 @endauth
與認證相反,咱們能夠用 auth
輔助函數的 guest()
方法來檢測用戶是否爲訪客:優化
@if(auth()->guest()) // 用戶未認證 @endif
不過 Laravel 也爲此提供了 @guest
命令:code
@guest // 用戶未認證 @endguest
咱們也能夠使用 else
語句來組合這兩個命令:blog
@guest // 用戶未認證 @else // 用戶已認證 @endguest
構建多主題站點可能會有一個文件若是存在就引入,不然就引入另外一個的須要,你能夠簡單地使用條件判斷來實現:模板引擎
@if(view()->exists('first-view-name')) @include('first-view-name') @else @include('second-view-name') @endif
不過仍是有一個更簡潔直觀的命令來作這件事:文檔
@includeFirst(['first-view-name', 'second-view-name']);
當你只想在必定邏輯的基礎上(如:一個已經過認證的用戶)添加一些內容的時候,根據條件引入視圖就很是有用了。get
你能夠使用 @if
條件來這樣寫:
@if($post->hasComments()) @include('posts.comments') @endif
咱們能夠只用一行命令 @includeWhen
來作到:
@includeWhen($post->hasComments(), 'posts.comments');
若是你有自定義主題系統或者你須要動態地建立 Blade 視圖,那麼檢查文件是否存在就是必需要作的。
能夠在輔助函數 view()
上調用 exists
方法:
@if(view()->exists('view-name')) @include('view-name') @endif
也能夠使用 Blade 命令 includeIf
來處理:
@includeIf('view-name')
你能夠經過 Blade 官方文檔 瞭解更多實用的技巧來優化你 Laravel 項目裏的前端模板。
重構快樂!
更多現代化 PHP 知識,請前往 Laravel / PHP 知識社區