Laravel Blade 模板 @section/endsection 与 @section/show, @yield 的区别

10 篇文章 0 订阅
1.1 继承

1、定义父模板 Laravel/resources/views/base.blade.php
2、子模板继承 @extends('base')

1.2 片段

1、父模板定义片段
@section('part')
    // 中间内容即使是一个片段
@show

2、子模板填充片段
@section('part')
    // 片段填充内容(后台的表单、列表等)
@endsection

也可以用@parent保留父级

1.3 占位

1、父模板占位
@yield('title')

2、子模板填充占位
第一种填充(文本):
    @section('title' , '填充的文本占位')

第二种填充(文本 or html)
    @section('title')
        // 填充的占位
    @endsection
@yield 类似于 @section/show 的用法,但是其继承者不能使用 @parent。
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" => "额外数据"
])
  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值