Laravel框架中Blade模板的用法示例
簡(jiǎn)介
Blade它不像其他流行的 PHP 模板引擎那樣限制你在視圖中使用原生的 PHP 代碼,事實(shí)上它就是把 Blade 視圖編譯成原生的 PHP 代碼并緩存起來(lái)。緩存會(huì)在 Blade 視圖改變時(shí)而改變,這意味著 Blade 并沒有給你的應(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
注意:
- 沒有 $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
數(shù)組沒有數(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)文章
Laravel路由設(shè)定和子路由設(shè)定實(shí)例分析
這篇文章主要介紹了Laravel路由設(shè)定和子路由設(shè)定方法,結(jié)合實(shí)例形式分析了Laravel路由的設(shè)定技巧,需要的朋友可以參考下2016-03-03Laravel5.5 實(shí)現(xiàn)后臺(tái)管理登錄的方法(自定義用戶表登錄)
今天小編就為大家分享一篇Laravel5.5 實(shí)現(xiàn)后臺(tái)管理登錄的方法(自定義用戶表登錄),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-09-09thinkPHP簡(jiǎn)單導(dǎo)入和使用阿里云OSSsdk的方法
這篇文章主要介紹了thinkPHP簡(jiǎn)單導(dǎo)入和使用阿里云OSSsdk的方法,簡(jiǎn)單說(shuō)明了阿里云OSS的php sdk下載地址及thinkPHP導(dǎo)入與使用OSSsdk的方法,需要的朋友可以參考下2017-03-03laravel實(shí)現(xiàn)上傳圖片的兩種方式小結(jié)
今天小編就為大家分享一篇laravel實(shí)現(xiàn)上傳圖片的兩種方式小結(jié),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-10-10thinkphp制作404跳轉(zhuǎn)頁(yè)的簡(jiǎn)單實(shí)現(xiàn)方法
下面小編就為大家?guī)?lái)一篇thinkphp制作404跳轉(zhuǎn)頁(yè)的簡(jiǎn)單實(shí)現(xiàn)方法。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-09-09Laravel 5框架學(xué)習(xí)之Eloquent 關(guān)系
Eloquent是Laravel的原始ActiveRecord是實(shí)現(xiàn)的,建立在Laravel的Fluent Query Builder之上的,所以Eloquent類和Fluent類是一樣的,能實(shí)現(xiàn)復(fù)雜的SQL語(yǔ)句和非常直觀表達(dá)出的表與表之間的關(guān)系2015-04-04Yii2.0框架模型多表關(guān)聯(lián)查詢示例
這篇文章主要介紹了Yii2.0框架模型多表關(guān)聯(lián)查詢,結(jié)合實(shí)例形式總結(jié)分析了Yii2.0框架多表關(guān)聯(lián)查詢相關(guān)操作技巧,需要的朋友可以參考下2019-07-07