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+dbfile开发小型留言本
Oct 09 PHP
图书管理程序(一)
Oct 09 PHP
中篇:安装及配置PHP
Dec 13 PHP
PHP_MySQL教程-第一天
Mar 18 PHP
php在字符串中查找另一个字符串
Nov 19 PHP
php auth_http类库进行身份效验
Mar 19 PHP
通过具体程序来理解PHP里面的抽象类
Jan 28 PHP
PHP垃圾回收机制引用计数器概念分析
Jun 24 PHP
使用php方法curl抓取AJAX异步内容思路分析及代码分享
Aug 25 PHP
php中关于socket的系列函数总结
May 18 PHP
PHP批量去除BOM头代码分享
Jun 26 PHP
docker-compose部署php项目实例详解
Jul 30 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
推荐几部必看的DC动画电影
2020/03/03 欧美动漫
通过php修改xml文档内容的方法
2015/01/23 PHP
php生成RSS订阅的方法
2015/02/13 PHP
Zend Framework教程之Autoloading用法详解
2016/03/08 PHP
Yii使用DeleteAll连表删除出现报错问题的解决方法
2016/07/14 PHP
PHP加密技术的简单实现
2016/09/04 PHP
php使用CURL模拟GET与POST向微信接口提交及获取数据的方法
2016/09/23 PHP
php魔法函数与魔法常量使用介绍
2017/07/23 PHP
[原创]PHP获取数组表示的路径方法分析【数组转字符串】
2017/09/01 PHP
PHP number_format函数原理及实例解析
2020/07/14 PHP
些很实用且必用的小脚本代码
2006/06/26 Javascript
HTA版JSMin(省略修饰语若干)基于javascript语言编写
2009/12/24 Javascript
js创建对象的几种常用方式小结(推荐)
2010/10/24 Javascript
JavaScript基本编码模式小结
2012/05/23 Javascript
javascript里使用php代码实例
2014/12/13 Javascript
深入解析JavaScript框架Backbone.js中的事件机制
2016/02/14 Javascript
微信小程序ajax实现请求服务器数据及模版遍历数据功能示例
2017/12/15 Javascript
Node中对非阻塞I/O、事件循环的知识点总结
2020/01/05 Javascript
深入浅析vue全局环境变量和模式
2020/04/28 Javascript
vue 动态给每个页面添加title、关键词和描述的方法
2020/08/28 Javascript
python 捕获shell脚本的输出结果实例
2017/01/04 Python
python机器学习案例教程——K最近邻算法的实现
2017/12/28 Python
pandas 把数据写入txt文件每行固定写入一定数量的值方法
2018/12/28 Python
利用Python脚本实现自动刷网课
2020/02/03 Python
Python sklearn库实现PCA教程(以鸢尾花分类为例)
2020/02/24 Python
numpy 矩阵形状调整:拉伸、变成一位数组的实例
2020/06/18 Python
管事部库房保管员岗位职责
2014/02/21 职场文书
终止劳动合同协议书
2014/04/14 职场文书
2014年综治维稳工作总结
2014/11/17 职场文书
安全员岗位职责
2015/02/10 职场文书
道歉情书大全
2015/05/12 职场文书
本科毕业论文致谢怎么写
2015/05/14 职场文书
圣贤教育改变命运观后感
2015/06/16 职场文书
图书借阅制度范本
2015/08/06 职场文书
详解Redis主从复制实践
2021/05/19 Redis
SQL Server使用T-SQL语句批处理
2022/05/20 SQL Server