|
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')
// 中间内容即使一个片段
@show1.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>1.4.2 使用组件 路径:Laravel/resources/views/test.blade.php @component('component')
@slot('title')
组件标题
@endsolt
@slot('content')
组件内容
@endslot
@endcomponent2. 数据显示
2.1 转义输出 {{ $name }}2.2 未转义输出 {!! $name !!}2.3 原格式输出
第一种(适合量不多): @{{ name }}第二种(适合量多): @verbatim
{{ name }}
{{ sex }}
{{ age }}
@endverbatim3. 流程控制
3.1 for
注意: 没有 $loop 变量 没有 @empty 有 @break 有 @continue
@for ($i = 0; $i < 10; ++$i)
{{ $i }} <br />
@endfor3.2 foreach
注意: 有 $loop 变量 没有 @empty 有 @break 有 @continue
@foreach ($data as $k => $v)
{{ $k }} <br />
@endforeach3.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 = '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>
|