Laravel框架中Blade模板的用法示例


Posted in PHP onAugust 30, 2017

简介

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

<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>

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对三水点靠木的支持。

PHP 相关文章推荐
php基础知识:类与对象(4) 范围解析操作符(::)
Dec 13 PHP
php下实现一个阿拉伯数字转中文数字的函数
Jul 10 PHP
php smarty的预保留变量总结
Dec 04 PHP
php 不同编码下的字符串长度区分
Sep 26 PHP
php截取字符串并保留完整xml标签的函数代码
Feb 06 PHP
页面乱码问题的根源及其分析
Aug 09 PHP
php防止SQL注入详解及防范
Nov 12 PHP
PHP采集类snoopy详细介绍(snoopy使用教程)
Jun 19 PHP
PHP编写文件多服务器同步程序
Jul 02 PHP
PHP第三方登录―QQ登录实现方法
Feb 06 PHP
php 广告点击统计代码(php+mysql)
Feb 21 PHP
阿里对象存储OSS在laravel框架中的使用方法
Oct 13 PHP
php实现支持中文的文件下载功能示例
Aug 30 #PHP
利用PHPStorm如何开发Laravel应用详解
Aug 30 #PHP
Laravel 5.5 的自定义验证对象/类示例代码详解
Aug 29 #PHP
PHP单例模式与工厂模式详解
Aug 29 #PHP
PHP迭代与递归实现无限级分类
Aug 28 #PHP
yii2中LinkPager增加总页数和总记录数的实例
Aug 28 #PHP
PHP大文件分割上传 PHP分片上传
Aug 28 #PHP
You might like
利用php获取服务器时间的实现代码
2013/06/07 PHP
解析link_mysql的php版
2013/06/30 PHP
PHP使用pcntl_fork实现多进程下载图片的方法
2014/12/16 PHP
php生成PDF格式文件并且加密
2015/06/22 PHP
php上传大文件失败的原因及应对策略
2015/10/20 PHP
php微信开发之百度天气预报
2016/11/18 PHP
PHP Class SoapClient not found解决方法
2018/01/20 PHP
PHP实现的DES加密解密类定义与用法示例
2020/11/02 PHP
js为空或不是对象问题的快速解决方法
2013/12/11 Javascript
js 通用订单代码
2013/12/23 Javascript
jQuery实现MSN中文网滑动Tab菜单效果代码
2015/09/09 Javascript
关于在vue-cli中使用微信自动登录和分享的实例
2017/06/22 Javascript
vue+socket.io+express+mongodb 实现简易多房间在线群聊示例
2017/10/21 Javascript
详解操作虚拟dom模拟react视图渲染
2018/07/25 Javascript
vue-cli脚手架搭建的项目去除eslint验证的方法
2018/09/29 Javascript
[01:33:25]DOTA2-DPC中国联赛 正赛 Elephant vs IG BO3 第一场 1月24日
2021/03/11 DOTA
举例讲解Linux系统下Python调用系统Shell的方法
2015/11/07 Python
Python实现GUI学生信息管理系统
2020/04/05 Python
python批量设置多个Excel文件页眉页脚的脚本
2018/03/14 Python
两个元祖T1=('a', 'b'),T2=('c', 'd')使用匿名函数将其转变成[{'a': 'c'},{'b': 'd'}]的几种方法
2019/03/05 Python
Python实现的ftp服务器功能详解【附源码下载】
2019/06/26 Python
信号生成及DFT的python实现方式
2020/02/25 Python
pytorch中index_select()的用法详解
2021/01/06 Python
CSS3毛玻璃效果(blur)有白边问题的解决方法
2016/11/15 HTML / CSS
如何利用input事件来监听移动端的输入
2016/04/15 HTML / CSS
html5视频自动横过来自适应页面且点击播放功能的实现
2020/06/03 HTML / CSS
Html5导航栏吸顶方案原理与对比实现
2020/06/10 HTML / CSS
出生医学证明样本
2014/01/17 职场文书
教师个人自我鉴定
2014/02/08 职场文书
共产党员承诺书
2014/03/25 职场文书
2014年9.18纪念日演讲稿
2014/09/14 职场文书
体育活动总结
2015/02/04 职场文书
护士求职自荐信
2015/03/25 职场文书
如何用 Python 子进程关闭 Excel 自动化中的弹窗
2021/05/07 Python
Android中View.post和Handler.post的关系
2022/06/05 Java/Android
微信小程序实现轮播图指示器
2022/06/25 Javascript