简介
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
<div class="component"> <!-- $title,$content 变量实际上就是预定义的插槽 --> <div class="title">{{ $title }}</div> <div class="content">{{ $content }}</div></div>
1.4.2 使用组件
路径:Laravel/resources/views/test.blade.php
@component("component") @slot("title") 组件标题 @endsolt @slot("content") 组件内容 @endslot@endcomponent
2. 数据显示
2.1 转义输出
{{ $name }}
2.2 未转义输出
{!! $name !!}
2.3 原格式输出
第一种(适合量不多):
@{{ name }}
第二种(适合量多):
@verbatim{{ name }}{{ sex }}{{ age }}@endverbatim
3. 流程控制
3.1 for
注意:
@for ($i = 0; $i < 10; ++$i) {{ $i }} <br />@endfor
3.2 foreach
注意:
@foreach ($data as $k => $v) {{ $k }} <br />@endforeach
3.3 forelse
注意:
@foreach ($data as $k => $v) {{ $k }} <br />@empty
数组没有数据
@endforeach
4. 使用原生 PHP
@php echo "使用原生 PHP";@endphp
5. 包含子视图
注意
定义父视图 parent.blade.php,并包含子视图 child.blade.php,且传入额外数据
/** * 父视图 * 父视图拥有变量 $name = "chenxuelong" */<div class="parent"> <div class="username">{{ $username }}</div> <div class="child"> <!-- 包含子视图 --> @include("child" , [ "other" => "额外数据" ]) </div></div>/** * 子视图 */ <div class="username">{{ $username }}</div> <div class="other">{{ $other }}</div>
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对网页设计的支持。