主頁(yè) > 知識(shí)庫(kù) > 分享5個(gè)非常有用的Laravel Blade指令

分享5個(gè)非常有用的Laravel Blade指令

熱門(mén)標(biāo)簽:團(tuán)購(gòu)網(wǎng)站 科大訊飛語(yǔ)音識(shí)別系統(tǒng) Linux服務(wù)器 服務(wù)器配置 阿里云 電子圍欄 Mysql連接數(shù)設(shè)置 銀行業(yè)務(wù)

簡(jiǎn)介

Blade是Laravel提供的一個(gè)非常簡(jiǎn)單、強(qiáng)大的模板引擎,不同于其他流行的PHP模板引擎,Blade在視圖中并不約束你使用PHP原生代碼。所有的Blade視圖都會(huì)被編譯成原生PHP代碼并緩存起來(lái)直到被修改,這意味著對(duì)應(yīng)用的性能而言Blade基本上是零開(kāi)銷。Blade視圖文件使用.blade.php文件擴(kuò)展并存放在resources/views目錄下。

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

廢話少說(shuō),讓我們開(kāi)始吧。

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

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

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

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

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

2. 檢測(cè)用戶是否為訪客

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

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

不過(guò) Laravel 也為此提供了 @guest 命令:

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

我們也可以使用 else 語(yǔ)句來(lái)組合這兩個(gè)命令:

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

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

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

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

不過(guò)還是有一個(gè)更簡(jiǎn)潔直觀的命令來(lái)做這件事:

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

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

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

你可以使用 @if 條件來(lái)這樣寫(xiě):

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

我們可以只用一行命令 @includeWhen 來(lái)做到:

@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 來(lái)處理:

@includeIf('view-name')

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

重構(gòu)快樂(lè)!

總結(jié)

以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,如果有疑問(wèn)大家可以留言交流,謝謝大家對(duì)腳本之家的支持。

您可能感興趣的文章:
  • laravel5.1框架基礎(chǔ)之Blade模板繼承簡(jiǎn)單使用方法分析
  • Laravel 5框架學(xué)習(xí)之Blade 簡(jiǎn)介
  • laravel 5 實(shí)現(xiàn)模板主題功能(續(xù))
  • laravel 5 實(shí)現(xiàn)模板主題功能
  • Laravel框架基礎(chǔ)語(yǔ)法與知識(shí)點(diǎn)整理【模板變量、輸出、include引入子視圖等】
  • Laravel框架Blade模板簡(jiǎn)介及模板繼承用法分析
  • Laravel實(shí)現(xiàn)通過(guò)blade模板引擎渲染視圖
  • PHP的Laravel框架中使用AdminLTE模板來(lái)編寫(xiě)網(wǎng)站后臺(tái)界面
  • Laravel框架中Blade模板的用法示例
  • Laravel中的Blade模板引擎示例詳解
  • Laravel框架之blade模板新手入門(mén)教程及小技巧
  • Laravel 5.1 框架Blade模板引擎用法實(shí)例分析

標(biāo)簽:蚌埠 棗莊 萍鄉(xiāng) 衢州 江蘇 廣元 大理 衡水

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《分享5個(gè)非常有用的Laravel Blade指令》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266