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版(1)
Oct 09 PHP
Linux下进行MYSQL编程时插入中文乱码的解决方案
Mar 15 PHP
php cache类代码(php数据缓存类)
Apr 15 PHP
Erlang的运算符(比较运算符,数值运算符,移位运算符,逻辑运算符)
Jul 23 PHP
php的一个简单加密解密代码
Jan 14 PHP
php获取域名的google收录示例
Mar 24 PHP
php实现斐波那契数列的简单写法
Jul 19 PHP
基于php的微信公众平台开发入门实例
Apr 15 PHP
PHP传参之传值与传址的区别
Apr 24 PHP
php车辆违章查询数据示例
Oct 14 PHP
php事件驱动化设计详解
Nov 10 PHP
php屏蔽错误及提示的方法
May 10 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如何解决网站大流量与高并发的问题
2011/06/25 PHP
PHP json_decode函数详细解析
2014/02/17 PHP
PHP实现的观察者模式实例
2017/06/21 PHP
[JS源码]超长文章自动分页(客户端版)
2007/01/09 Javascript
将jQuery应用于login页面的问题及解决
2009/10/17 Javascript
Javascript面象对象成员、共享成员变量实验
2010/11/19 Javascript
基于jquery的当鼠标滚轮到最底端继续加载新数据思路分享(多用于微博、空间、论坛 )
2011/10/10 Javascript
禁止拷贝网页内容的js代码
2014/01/22 Javascript
Javascript中String的常用方法实例分析
2015/06/13 Javascript
JavaScript 经典实例日常收集整理(常用经典)
2016/03/30 Javascript
JS与Ajax Get和Post在使用上的区别实例详解
2016/06/08 Javascript
谈谈JavaScript中的几种借用方法
2016/08/09 Javascript
jquery请求servlet实现ajax异步请求的示例
2017/06/03 jQuery
详解Angular2学习笔记之Html属性绑定
2018/01/03 Javascript
JavaScript中十种一步拷贝数组的方法实例详解
2019/04/22 Javascript
js+html实现点名系统功能
2019/11/05 Javascript
[10:07]2014DOTA2国际邀请赛 实拍选手现场观战DK对阵Titan
2014/07/12 DOTA
[01:00:49]DOTA2-DPC中国联赛 正赛 Ehome vs iG BO3 第二场 1月31日
2021/03/11 DOTA
Python写出新冠状病毒确诊人数地图的方法
2020/02/12 Python
美国知名珠宝首饰品牌:Gemvara
2017/10/06 全球购物
澳大利亚相机之家:Camera House
2017/11/30 全球购物
欧舒丹美国官网:L’Occitane美国
2018/02/23 全球购物
德国童装购物网站:NICKI´S.com
2018/04/20 全球购物
美国婴儿和儿童服装购物网站:PatPat
2020/10/01 全球购物
拉飞逸官网:Lafayette 148 New York
2020/07/15 全球购物
sleep()方法和wait()方法的区别是什么
2012/11/17 面试题
Servlet的实例是在生命周期什么时候创建的?配置servlet最重要的是什么?
2012/05/30 面试题
员工工作表现评语
2014/04/26 职场文书
法制宣传教育方案
2014/05/09 职场文书
婚纱店策划方案
2014/05/22 职场文书
计算机相关专业自荐信
2014/07/02 职场文书
学校周年庆活动方案
2014/08/22 职场文书
班级光棍节联谊会策划书
2014/10/10 职场文书
再婚婚前财产协议书范本
2014/10/19 职场文书
神农溪导游词
2015/02/11 职场文书
mysql配置SSL证书登录的实现
2021/09/04 MySQL