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
{{ $title }}
{{ $content }}
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 注意: 没有 $loop 变量 没有 @empty 有 @break 有 @continue @for ($i = 0; $i < 10; ++$i) {{ $i }}
@endfor 3.2 foreach 注意: 有 $loop 变量 没有 @empty 有 @break 有 @continue @foreach ($data as $k => $v) {{ $k }}
@endforeach 3.3 forelse 注意: 有 $loop 变量 必须有 @empty 有 @break 有 @continue @foreach ($data as $k => $v) {{ $k }}
@empty 数组没有数据 @endforeach 4. 使用原生 PHP @php echo "使用原生 PHP"; @endphp 5. 包含子视图 注意 被包含的子视图可以引用父视图定义的所有变量。 你可以传递额外的数据到子视图 定义父视图 parent.blade.php,并包含子视图 child.blade.php,且传入额外数据 /** * 父视图 * 父视图拥有变量 $name = 'chenxuelong' */
{{ $username }}
@include('child' , [ 'other' => '额外数据' ])
/** * 子视图 */
{{ $username }}
{{ $other }}
总结 以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对中文源码网的支持。