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='component'> <!-- $title,$content 变量实际上就是预定义的插槽 --> <p class='title'>{{ $title }}</p> <p class='content'>{{ $content }}</p> </p>
@component('component') @slot('title') 组件标题 @endsolt @slot('content') 组件内容 @endslot @endcomponent
##2.資料顯示
#
{{ $name }}
{!! $name !!}
#第一種(適合量不多):
@{{ name }}
#
@verbatim {{ name }} {{ sex }} {{ age }} @endverbatim
3. 流程控制
#注意:
##沒有$loop 變數# #有@continue
@for ($i = 0; $i < 10; ++$i) {{ $i }} <br /> @endfor
#3.2 foreach
##注意:
有$loop 變數
#
@foreach ($data as $k => $v) {{ $k }} <br /> @endforeach
#注意:
#有@continue
# #
@foreach ($data as $k => $v) {{ $k }} <br /> @empty
#@endforeach
#@php
echo "使用原生 PHP";
@endphp
被包含的子視圖可以引用父視圖定義的所有變數。
你可以傳遞額外的資料到子視圖
以上是Laravel中Blade模板的使用詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!/**
* 父视图
* 父视图拥有变量 $name = 'chenxuelong'
*/
<p class='parent'>
<p class='username'>{{ $username }}</p>
<p class='child'>
<!-- 包含子视图 -->
@include('child' , [
'other' => '额外数据'
])
</p>
</p>
/**
* 子视图
*/
<p class='username'>{{ $username }}</p>
<p class='other'>{{ $other }}</p>