1. 继承、片段、占位、组件、插槽
1.1 继承
1、定义父模板 Laravel/resources/views/base.blade.php
2、子模板继承 @extends('base')
1.2 片段
1、父模板定义片段
@section('part')
// 中间内容即使是一个片段
@show
2、子模板填充片段
@section('part')
// 片段填充内容(后台的表单、列表等)
@endsection
1.3 占位
1、父模板占位
@yield('title')
2、子模板填充占位
第一种填充(文本):
@section('title' , '填充的文本占位')
第二种填充(文本 or html)
@section('title')
// 填充的占位
@endsection
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>
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 打印内容并带一个默认值
{{ $var or 'default' }}
2.4 原格式输出
// 第一种(适合量不多):
@{{ 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)
// $data有值
{{ $k }} <br />
@empty
// $data没有值
@endforeach
3.4 if
@if(condition) - if开始
@else - else不带条件
@elseif(condition) - else带条件
@endif - 结束if
3.5 while
@while(condition) - while循环开始
@endwhile - while循环结束
3.6 unless
@unless(condition) - unless开始
@endunless - unless结束
4. 使用原生 PHP
@php
// 里面写php代码
echo "使用原生 PHP";
@endphp
5. 包含子视图
被包含的子视图可以引用父视图定义的所有变量。
你可以传递额外的数据到子视图
定义父视图 parent.blade.php,并包含子视图 child.blade.php,且传入额外数据
<!-- 包含子视图 -->
@include("child" , [
"other" => "额外数据"
])
转载于:https://www.cnblogs.com/sgm4231/p/10190587.html