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之第七天
Oct 09 PHP
一个更简单的无限级分类菜单代码
Jan 16 PHP
建站常用13种PHP开源CMS比较
Aug 23 PHP
php 使用post,get的一种简洁方式
Apr 25 PHP
PHP5.4中json_encode中文转码的变化小结
Jan 30 PHP
php文件上传的简单实例
Oct 19 PHP
PHP易混淆知识整理笔记
Sep 24 PHP
关于PHP 如何用 curl 读取 HTTP chunked 数据
Feb 26 PHP
PHP查询分页的实现代码
Jun 09 PHP
php数据结构之顺序链表与链式线性表示例
Jan 22 PHP
ThinkPHP框架下微信支付功能总结踩坑笔记
Apr 10 PHP
PHP pthreads v3在centos7平台下的安装与配置操作方法
Feb 21 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版本号
2006/10/09 PHP
兼容ie6浏览器的php下载文件代码分享
2014/07/14 PHP
PHP中类属性与类静态变量的访问方法示例
2016/07/13 PHP
PHP入门教程之日期与时间操作技巧总结(格式化,验证,获取,转换,计算等)
2016/09/11 PHP
PHP不使用递归的无限级分类简单实例
2016/11/05 PHP
asp.net HttpHandler实现图片防盗链
2009/11/09 Javascript
js 屏蔽鼠标右键脚本附破解方法
2009/12/03 Javascript
网站页面自动跳转实现方法PHP、JSP(上)
2010/08/01 Javascript
Javascript面向对象编程(三) 非构造函数的继承
2011/08/28 Javascript
jquery三个关闭弹出层的小示例
2013/11/05 Javascript
jsp网页搜索结果中实现选中一行使其高亮
2014/02/17 Javascript
checkbox勾选判断代码分析
2014/06/11 Javascript
javascript 判断两个日期之差的示例代码
2015/09/05 Javascript
xtemplate node.js 的使用方法实例解析
2016/08/22 Javascript
form表单序列化详解(推荐)
2017/08/15 Javascript
vue+swiper实现组件化开发的实例代码
2017/10/26 Javascript
使用D3.js创建物流地图的示例代码
2018/01/27 Javascript
手写简单的jQuery雪花飘落效果实例
2018/04/22 jQuery
vue-router路由懒加载的实现(解决vue项目首次加载慢)
2018/08/28 Javascript
在vue里使用codemirror遇到的问题
2018/11/01 Javascript
详解vue的数据劫持以及操作数组的坑
2019/04/18 Javascript
微信小程序实现多选框全选与取消全选功能示例
2019/05/14 Javascript
vue组件创建的三种方式小结
2020/02/03 Javascript
JS实现简易图片自动轮播
2020/10/16 Javascript
python实现划词翻译
2020/04/23 Python
Python HTMLTestRunner可视化报告实现过程解析
2020/04/10 Python
基于Python组装jmx并调用JMeter实现压力测试
2020/11/03 Python
python绘制汉诺塔
2021/03/01 Python
CSS Houdini实现动态波浪纹效果
2019/07/30 HTML / CSS
瑞贝卡·泰勒官方网站:Rebecca Taylor
2016/09/24 全球购物
英国领先的酒类网上商城:TheDrinkShop
2017/03/16 全球购物
最畅销的视频游戏享受高达90%的折扣:CDKeys
2020/02/10 全球购物
Java程序员面试90题
2013/10/19 面试题
教师党的群众路线教育实践活动个人整改方案
2014/10/31 职场文书
行政人事主管岗位职责
2015/04/11 职场文书
《刷子李》教学反思
2016/02/20 职场文书