简介
Blade它不像其他流行的 PHP 模板引擎那样限制你在视图中使用原生的 PHP 代码,事实上它就是把 Blade 视图编译成原生的 PHP 代码并缓存起来。缓存会在 Blade 视图改变时而改变,这意味着 Blade 并没有给你的应用添加编译的负担。Blade 视图文件使用 .blade.php 后缀,一般情况下都被存储在 resources/views 目录。
1. 继承、片段、占位、组件、插槽
1.1 继承
1.1.1 定义父模板
|
1
|
Laravel/resources/views/base.blade.php
|
1.1.2 子模板继承
路径:Laravel/resources/views/child.blade.php
|
1
|
@extends('base')
|
1.2 片段
1.2.1 父模板定义片段
|
1
2
3
|
@section('part')
// 中间内容即使一个片段
@show
|
1.2.2 子模板填充片段
|
1
|
@section('part')
|
片段填充内容
|
1
|
@endsection
|
1.3 占位
1.3.1 父模板占位:
|
1
|
@yield('title')
|
1.3.2 子模板填充占位
第一种填充(文本):
|
1
|
@section('title' , '填充的文本占位')
|
第二种填充(文本 or html)
|
1
|
@section('title')
|
填充的占位
|
1
|
@endsection
|
1.4 组件、插槽
1.4.1 定义组件
路径:Laravel/resources/views/component.blade.php
|
1
2
3
4
5
|
<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
|
1
2
3
4
5
6
7
8
9
|
@component('component')
@slot('title')
组件标题
@endsolt
@slot('content')
组件内容
@endslot
@endcomponent
|
2. 数据显示
2.1 转义输出
|
1
|
{{ $name }}
|
2.2 未转义输出
|
1
|
{!! $name !!}
|
2.3 原格式输出
第一种(适合量不多):
|
1
|
@{{ name }}
|
第二种(适合量多):
|
1
2
3
4
5
|
@verbatim
{{ name }}
{{ sex }}
{{ age }}
@endverbatim
|
3. 流程控制
3.1 for
注意:
- 没有 $loop 变量
- 没有 @empty
- 有 @break
- 有 @continue
|
1
2
3
|
@for ($i = 0; $i < 10; ++$i)
{{ $i }} <br />
@endfor
|
3.2 foreach
注意:
- 有 $loop 变量
- 没有 @empty
- 有 @break
- 有 @continue
|
1
2
3
|
@foreach ($data as $k => $v)
{{ $k }} <br />
@endforeach
|
3.3 forelse
注意:
- 有 $loop 变量
- 必须有 @empty
- 有 @break
- 有 @continue
|
1
2
3
|
@foreach ($data as $k => $v)
{{ $k }} <br />
@empty
|
数组没有数据
|
1
|
@endforeach
|
4. 使用原生 PHP
|
1
2
3
|
@php
echo "使用原生 PHP";
@endphp
|
5. 包含子视图
注意
- 被包含的子视图可以引用父视图定义的所有变量。
- 你可以传递额外的数据到子视图
定义父视图 parent.blade.php,并包含子视图 child.blade.php,且传入额外数据
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
/**
* 父视图
* 父视图拥有变量 $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>
|
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对快网idc的支持。
原文链接:https://segmentfault.com/a/1190000010864876
相关文章
- ASP.NET本地开发时常见的配置错误及解决方法? 2025-06-10
- ASP.NET自助建站系统的数据库备份与恢复操作指南 2025-06-10
- 个人网站服务器域名解析设置指南:从购买到绑定全流程 2025-06-10
- 个人网站搭建:如何挑选具有弹性扩展能力的服务器? 2025-06-10
- 个人服务器网站搭建:如何选择适合自己的建站程序或框架? 2025-06-10
- 2025-07-10 怎样使用阿里云的安全工具进行服务器漏洞扫描和修复?
- 2025-07-10 怎样使用命令行工具优化Linux云服务器的Ping性能?
- 2025-07-10 怎样使用Xshell连接华为云服务器,实现高效远程管理?
- 2025-07-10 怎样利用云服务器D盘搭建稳定、高效的网站托管环境?
- 2025-07-10 怎样使用阿里云的安全组功能来增强服务器防火墙的安全性?
快网idc优惠网
QQ交流群
-
2025-05-25 53
-
2025-06-04 102
-
2025-05-27 89
-
2025-05-25 96
-
2025-05-29 83

