详解Laravel中Blade模板的用法

*文
发布: 2018-01-03 16:38:38
原创
1839人浏览过

blade 是 laravel 提供的一个简单强大的模板引擎,下面这篇文章主要给大家介绍了关于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

<p class='component'>
 <!-- $title,$content 变量实际上就是预定义的插槽 -->
 <p class='title'>{{ $title }}</p>
 <p class='content'>{{ $content }}</p>
</p>
登录后复制

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

AiPPT模板广场
AiPPT模板广场

AiPPT模板广场-PPT模板-word文档模板-excel表格模板

AiPPT模板广场147
查看详情 AiPPT模板广场

注意:

  • 没有 $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'
 */

<p class='parent'>
 <p class='username'>{{ $username }}</p>
 <p class='child'>
  <!-- 包含子视图 -->
  @include('child' , [
   'other' => '额外数据'
  ])
 </p>
</p>

/**
 * 子视图
 */
 <p class='username'>{{ $username }}</p>
 <p class='other'>{{ $other }}</p>
登录后复制

相关推荐:

探究Laravel的中间件是如何实现的

Laravel优化之分割路由文件

laravel编写APP接口(API)

以上就是详解Laravel中Blade模板的用法的详细内容,更多请关注php中文网其它相关文章!

相关标签:
最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号