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中使用ExcelFileParser处理excel获得数据(可作批量导入到数据库使用)
Aug 21 PHP
AJAX的跨域访问-两种有效的解决方法介绍
Jun 22 PHP
解析array splice的移除数组中指定键的值,返回一个新的数组
Jul 02 PHP
PHP PDOStatement:bindParam插入数据错误问题分析
Nov 13 PHP
php导入大量数据到mysql性能优化技巧
Dec 29 PHP
php实现搜索类封装示例
Mar 31 PHP
php for 循环使用的简单实例
Jun 02 PHP
PHP基于SimpleXML生成和解析xml的方法示例
Jul 17 PHP
PHP多进程编程之僵尸进程问题的理解
Oct 15 PHP
PHP回调函数概念与用法实例分析
Nov 03 PHP
PHP学习记录之数组函数
Jun 01 PHP
在php的yii2框架中整合hbase库的方法
Sep 20 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
如何使用脚本模仿登陆过程
2006/11/22 PHP
基于PHP对XML的操作详解
2013/06/07 PHP
php 模拟GMAIL,HOTMAIL(MSN),YAHOO,163,126邮箱登录的详细介绍
2013/06/18 PHP
PHP保留两位小数并且四舍五入及不四舍五入的方法
2013/09/22 PHP
php遍历目录与文件夹的多种方法详解
2013/11/14 PHP
php创建session的方法实例详解
2015/01/27 PHP
浅谈php+phpStorm+xdebug配置方法
2015/09/17 PHP
php实现简单的权限管理的示例代码
2017/08/25 PHP
关于可运行代码无法正常执行的使用说明
2010/05/13 Javascript
基于jquery的表格排序
2010/09/11 Javascript
Jquery attr(&quot;checked&quot;) 返回checked或undefined 获取选中失效
2013/10/10 Javascript
javascript scrollTop正解使用方法
2013/11/14 Javascript
JavaScript Promise启示录
2014/08/12 Javascript
AngularJS入门教程之迭代器过滤详解
2016/08/18 Javascript
AngularJS 面试题集锦
2016/09/06 Javascript
jQuery复制节点用法示例(clone方法)
2016/09/08 Javascript
详解AngularJs中$sce与$sceDelegate上下文转义服务
2016/09/21 Javascript
详解Vue基于 Nuxt.js 实现服务端渲染(SSR)
2018/04/05 Javascript
layui获取选中行数据的实例讲解
2018/08/19 Javascript
Python处理命令行参数模块optpars用法实例分析
2018/05/31 Python
python中for循环输出列表索引与对应的值方法
2018/11/07 Python
python绘制散点图并标记序号的方法
2018/12/11 Python
用Python解数独的方法示例
2019/10/24 Python
Python数据可视化:箱线图多种库画法
2019/11/06 Python
Python 字典一个键对应多个值的方法
2020/09/29 Python
html5 datalist标签使用示例(自动完成组件)
2014/05/04 HTML / CSS
LightInTheBox西班牙站点:全球商品在线采购
2016/09/22 全球购物
在使用非全零作为空指针内部表达的机器上, NULL是如何定义
2014/11/09 面试题
行政部主管岗位职责
2013/12/28 职场文书
初中体育教学反思
2014/01/14 职场文书
七一建党节慰问信
2015/02/14 职场文书
小学三年级班主任工作经验交流材料
2015/11/02 职场文书
八年级作文之感恩
2019/11/22 职场文书
redis实现共同好友的思路详解
2021/05/26 Redis
vue修饰符.capture和.self的区别
2022/04/22 Vue.js
如何使用python包中的sched事件调度器
2022/04/30 Python