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 常见郁闷问题答解
Nov 25 PHP
php实现的在线人员函数库
Apr 09 PHP
PHP array操作10个小技巧分享
Jun 23 PHP
过滤掉PHP数组中的重复值的实现代码
Jul 17 PHP
提高PHP编程效率的方法
Nov 07 PHP
php判断当前用户已在别处登录的方法
Jan 06 PHP
推荐十款免费 WordPress 插件
Mar 24 PHP
PHP之正则表达式捕获组与非捕获组(详解)
Jul 29 PHP
php实现网站留言板功能
Nov 04 PHP
PHP中大括号'{}'用法实例总结
Feb 08 PHP
PHP二维数组实现去除重复项的方法【保留各个键值】
Dec 21 PHP
PHP连接MySQL数据库的三种方式实例分析【mysql、mysqli、pdo】
Nov 04 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
Array of country list in PHP with Zend Framework
2011/10/17 PHP
php实现简单文件下载的方法
2015/01/30 PHP
标准PHP的AES加密算法类
2015/03/12 PHP
PHP+iframe模拟Ajax上传文件功能示例
2019/07/02 PHP
Javascript 强制类型转换函数
2009/05/17 Javascript
jq选项卡鼠标延迟的插件实例
2013/05/13 Javascript
Javascript实现重力弹跳拖拽运动效果示例
2013/06/28 Javascript
Jquery实现图片放大镜效果的思路及代码(自写)
2013/10/18 Javascript
IE下window.onresize 多次调用与死循环bug处理方法介绍
2013/11/12 Javascript
前台js对象在后台转化java对象的问题探讨
2013/12/20 Javascript
通过JS来判断页面控件是否获取焦点
2014/01/03 Javascript
jQuery实现的输入框选择时间插件用法实例
2015/02/28 Javascript
javascript实现tab切换的两个实例
2015/11/05 Javascript
jquery实现tab选项卡切换效果(悬停、下方横线动画位移)
2017/05/05 jQuery
Vue中引入样式文件的方法
2017/08/18 Javascript
Vue插值、表达式、分隔符、指令知识小结
2018/10/12 Javascript
Vue指令v-for遍历输出JavaScript数组及json对象的常见方式小结
2019/02/11 Javascript
使用RxJS更优雅地进行定时请求详析
2019/06/02 Javascript
Vue实现开关按钮拖拽效果
2020/09/22 Javascript
[05:24]TI9采访——教练
2019/08/24 DOTA
详解Python nose单元测试框架的安装与使用
2017/12/20 Python
Scrapy框架爬取Boss直聘网Python职位信息的源码
2019/02/22 Python
Django  ORM 练习题及答案
2019/07/19 Python
关于tf.TFRecordReader()函数的用法解析
2020/02/17 Python
appium+python自动化配置(adk、jdk、node.js)
2020/11/17 Python
英国知名奢侈品包包品牌:Milli Millu
2016/12/22 全球购物
什么叫应用程序域?什么是受管制的代码?什么是强类型系统?什么是装箱和拆箱?
2016/08/13 面试题
小学生自我鉴定
2013/10/12 职场文书
高一地理教学反思
2014/01/18 职场文书
城管综合整治方案
2014/05/01 职场文书
本科毕业生自荐信
2014/06/02 职场文书
医院护士见习期自我鉴定
2014/09/15 职场文书
2014年平安创建工作总结
2014/11/24 职场文书
合伙经营协议书范本(通用版)
2014/12/03 职场文书
寒假安全保证书
2015/02/28 职场文书
2015年幼儿园学前班工作总结
2015/05/18 职场文书