首頁  >  文章  >  後端開發  >  詳解Laravel中Blade模板的用法

詳解Laravel中Blade模板的用法

*文
*文原創
2018-01-03 16:38:381671瀏覽

Blade 是laravel 提供的一個簡單強大的模板引擎,以下這篇文章主要給大家介紹了關於Laravel框架中Blade模板用法的相關資料,文中透過範例程式碼介紹的非常詳細,對大家的學習或工作具有一定的參考學習價值,需要的朋友們下面來一起看看吧。希望對大家有幫助。

簡介

Blade它不像其他流行的PHP 模板引擎那樣限制你在視圖中使用原生的PHP 程式碼,事實上它就是把Blade 視圖編譯成原生的PHP 程式碼並且快取起來。快取會在 Blade 視圖改變時而改變,這意味著 Blade 並沒有為你的應用程式添加編譯的負擔。 Blade 視圖檔案使用 .blade.php 後綴,一般情況下都儲存在 resources/views 目錄。

1. 繼承、片段、佔位、元件、插槽

1.1 繼承

1.1.1 定義父範本

Laravel/resources/views/base.blade.php

1.1.2 子範本繼承

#路徑:Laravel/resources/views/child.blade.php

@extends('base')

1.2 片段

1.2.1 父範本定義片段

@section('part')
// 中间内容即使一个片段
@show

1.2.2 子範本填色片段

@section('part')

片段填滿內容

@endsection

1.3 佔位

1.3.1 父範本佔位:

@yield('title')

1.3.2 子範本填入佔位

第一種填滿(文字):

@section('title' , '填充的文本占位')

第二個填滿(文字or html)

@section('title')

填滿的佔位

@endsection

1.4元件、插槽

1.4.1 定義元件

路徑:Laravel/resources/views/component.blade.php

<p class=&#39;component&#39;>
 <!-- $title,$content 变量实际上就是预定义的插槽 -->
 <p class=&#39;title&#39;>{{ $title }}</p>
 <p class=&#39;content&#39;>{{ $content }}</p>
</p>

1.4.2使用元件

路徑:Laravel/resources/views/test.blade.php

@component(&#39;component&#39;)
 @slot(&#39;title&#39;)
  组件标题
 @endsolt
 
 @slot(&#39;content&#39;)
  组件内容
 @endslot
@endcomponent

2.資料顯示

2.1 轉義輸出

{{ $name }}

2.2 未轉義輸出

{!! $name !!}

2.3 原始格式輸出

#第一種(適合量不多):

@{{ name }}

第二種(適合量多):

@verbatim
{{ name }}
{{ sex }}
{{ age }}
@endverbatim

3. 流程控制

3.1 for

注意:

  • 沒有$loop 變數

  • 沒有@empty

  • 有@break

  • 有@continue

@for ($i = 0; $i < 10; ++$i)
 {{ $i }} <br />
@endfor

3.2 foreach

#注意:


# #有$loop 變數沒有@empty

  • #有@break

  • 有@continue

  • @foreach ($data as $k => $v)
     {{ $k }} <br />
    @endforeach

    3.3 forelse
#注意:

有$loop 變數

#必須有@empty
有@break

有@continue

@foreach ($data as $k => $v)
 {{ $k }} <br />
@empty
        陣列沒有資料
  • @endforeach

  • 4. 使用原生PHP
  • #
    @php 
    echo "使用原生 PHP";
    @endphp

5.包含子視圖


#注意

##被包含的子視圖可以引用父視圖定義的所有變數。

#########你可以傳遞額外的資料到子視圖#############定義父視圖parent.blade.php,並包含子視圖child.blade. php,且傳入額外資料###
/**
 * 父视图
 * 父视图拥有变量 $name = &#39;chenxuelong&#39;
 */

<p class=&#39;parent&#39;>
 <p class=&#39;username&#39;>{{ $username }}</p>
 <p class=&#39;child&#39;>
  <!-- 包含子视图 -->
  @include(&#39;child&#39; , [
   &#39;other&#39; => &#39;额外数据&#39;
  ])
 </p>
</p>

/**
 * 子视图
 */
 <p class=&#39;username&#39;>{{ $username }}</p>
 <p class=&#39;other&#39;>{{ $other }}</p>
######相關推薦:###################探究Laravel的中間件是如何實現的### ###############Laravel優化分割路由檔案###################laravel編寫APP介面(API)#### #####

以上是詳解Laravel中Blade模板的用法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn