Laravel框架中Blade模板的用法示例
簡(jiǎn)介
Blade它不像其他流行的 PHP 模板引擎那樣限制你在視圖中使用原生的 PHP 代碼,事實(shí)上它就是把 Blade 視圖編譯成原生的 PHP 代碼并緩存起來(lái)。緩存會(huì)在 Blade 視圖改變時(shí)而改變,這意味著 Blade 并沒(méi)有給你的應(yīng)用添加編譯的負(fù)擔(dān)。Blade 視圖文件使用 .blade.php 后綴,一般情況下都被存儲(chǔ)在 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')
// 中間內(nèi)容即使一個(gè)片段
@show
1.2.2 子模板填充片段
@section('part')
片段填充內(nèi)容
@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
<div class='component'>
<!-- $title,$content 變量實(shí)際上就是預(yù)定義的插槽 -->
<div class='title'>{{ $title }}</div>
<div class='content'>{{ $content }}</div>
</div>
1.4.2 使用組件
路徑:Laravel/resources/views/test.blade.php
@component('component')
@slot('title')
組件標(biāo)題
@endsolt
@slot('content')
組件內(nèi)容
@endslot
@endcomponent
2. 數(shù)據(jù)顯示
2.1 轉(zhuǎn)義輸出
{{ $name }}
2.2 未轉(zhuǎn)義輸出
{!! $name !!}
2.3 原格式輸出
第一種(適合量不多):
@{{ name }}
第二種(適合量多):
@verbatim
{{ name }}
{{ sex }}
{{ age }}
@endverbatim
3. 流程控制
3.1 for
注意:
- 沒(méi)有 $loop 變量
- 沒(méi)有 @empty
- 有 @break
- 有 @continue
@for ($i = 0; $i < 10; ++$i)
{{ $i }} <br />
@endfor
3.2 foreach
注意:
- 有 $loop 變量
- 沒(méi)有 @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
數(shù)組沒(méi)有數(shù)據(jù)
@endforeach
4. 使用原生 PHP
@php echo "使用原生 PHP"; @endphp
5. 包含子視圖
注意
- 被包含的子視圖可以引用父視圖定義的所有變量。
- 你可以傳遞額外的數(shù)據(jù)到子視圖
定義父視圖 parent.blade.php,并包含子視圖 child.blade.php,且傳入額外數(shù)據(jù)
/**
* 父視圖
* 父視圖擁有變量 $name = 'chenxuelong'
*/
<div class='parent'>
<div class='username'>{{ $username }}</div>
<div class='child'>
<!-- 包含子視圖 -->
@include('child' , [
'other' => '額外數(shù)據(jù)'
])
</div>
</div>
/**
* 子視圖
*/
<div class='username'>{{ $username }}</div>
<div class='other'>{{ $other }}</div>
總結(jié)
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來(lái)一定的幫助,如果有疑問(wèn)大家可以留言交流,謝謝大家對(duì)腳本之家的支持。
相關(guān)文章
PHP中error_reporting函數(shù)用法詳細(xì)介紹
這篇文章主要介紹了PHP中error_reporting函數(shù)用法詳細(xì)介紹的相關(guān)資料,需要的朋友可以參考下2017-06-06
php兩個(gè)多維數(shù)組組合遍歷的實(shí)例
下面小編就為大家?guī)?lái)一篇php兩個(gè)多維數(shù)組組合遍歷的實(shí)例。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-10-10
thinkPHP5框架閉包函數(shù)與子查詢(xún)傳參用法示例
這篇文章主要介紹了thinkPHP5框架閉包函數(shù)與子查詢(xún)傳參用法,結(jié)合實(shí)例形式分析了thinkPHP5閉包查詢(xún)與參數(shù)傳遞相關(guān)操作技巧,需要的朋友可以參考下2018-08-08
TP5框架請(qǐng)求響應(yīng)參數(shù)實(shí)例分析
這篇文章主要介紹了TP5框架請(qǐng)求響應(yīng)參數(shù),結(jié)合實(shí)例形式分析了thinkPHP5請(qǐng)求參數(shù)及相應(yīng)參數(shù)的獲取方法,需要的朋友可以參考下2019-10-10
php array_udiff_assoc 計(jì)算兩個(gè)數(shù)組的差集實(shí)例
這篇文章主要介紹了php array_udiff_assoc 計(jì)算兩個(gè)數(shù)組的差集實(shí)例的相關(guān)資料,需要的朋友可以參考下2016-11-11

