Laravel Blade 模板用法

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

注意:
  • 没有 $loop 变量
  • 没有 @empty
  • @break
  • @continue
@for ($i = 0; $i < 10; ++$i)
    {{ $i }} <br />
@endfor

3.2 foreach

注意:
  • 有 $loop 变量
  • 没有 @empty
  • @break
  • @continue
@foreach ($data as $k => $v)
    {{ $k }} <br />
@endforeach

3.3 forelse

注意:
  • 有 $loop 变量
  • 必须有 @empty
  • @break
  • @continue
@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>
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值