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+MSSQL分页的例子
Oct 09 PHP
windows xp下安装pear
Dec 02 PHP
使用php shell命令合并图片的代码
Jun 23 PHP
PHP获取搜索引擎关键字来源的函数(支持百度和谷歌等搜索引擎)
Oct 03 PHP
基于php常用正则表达式的整理汇总
Jun 08 PHP
简单的php新闻发布系统教程
May 09 PHP
ThinkPHP内置jsonRPC的缺陷分析
Dec 18 PHP
php遍历删除整个目录及文件的方法
Mar 13 PHP
PHP扩展迁移为PHP7扩展兼容性问题记录
Feb 15 PHP
PHP迭代与递归实现无限级分类
Aug 28 PHP
PHP中检查isset()和!empty()函数的必要性
Feb 13 PHP
解决laravel上传图片之后,目录有图片,但是访问不到(404)的问题
Oct 14 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函数,php爱好者站推荐
2007/03/19 PHP
详谈PHP编码转换问题
2015/07/28 PHP
ThinkPHP框架实现的邮箱激活功能示例
2018/06/15 PHP
PHP addcslashes()函数讲解
2019/02/03 PHP
JavaScript中的Location地址对象
2008/01/16 Javascript
IE和Firefox下event事件杂谈
2009/12/18 Javascript
js导出txt示例代码
2014/01/14 Javascript
jquery ajax跨域解决方法(json方式)
2014/02/04 Javascript
JavaScript异步编程Promise模式的6个特性
2014/04/03 Javascript
手写的一个兼容各种浏览器的javascript getStyle函数(获取元素的样式)
2014/06/06 Javascript
jQuery遮罩层实现方法实例详解(附遮罩层插件)
2015/12/08 Javascript
Javascript实现通过选择周数显示开始日和结束日的实现代码
2016/05/30 Javascript
jQuery中Datatables增加跳转到指定页功能
2017/02/08 Javascript
jQuery实现贪吃蛇小游戏(附源码下载)
2017/03/04 Javascript
在react中使用vuex的示例代码
2018/07/30 Javascript
vue 利用路由守卫判断是否登录的方法
2018/09/29 Javascript
vue项目实现图片上传功能
2019/12/23 Javascript
python中pycurl库的用法实例
2014/09/30 Python
python下paramiko模块实现ssh连接登录Linux服务器
2015/06/03 Python
深入解析Python中函数的参数与作用域
2016/03/20 Python
单利模式及python实现方式详解
2018/03/20 Python
python爬虫 execjs安装配置及使用
2019/07/30 Python
对Tensorflow中tensorboard日志的生成与显示详解
2020/02/04 Python
解决pycharm下pyuic工具使用的问题
2020/04/08 Python
用python读取xlsx文件
2020/12/17 Python
法国在线药房:DoctiPharma
2020/10/21 全球购物
法学研究生自我鉴定范文
2013/12/04 职场文书
冰淇淋店创业计划书范文
2013/12/27 职场文书
光荣入党自我鉴定
2014/01/22 职场文书
违反工作纪律检讨书
2014/02/15 职场文书
药剂专业自荐信范文
2014/04/16 职场文书
火锅店的活动方案
2014/08/15 职场文书
党员证明信
2015/06/19 职场文书
小学体育跳绳课教学反思
2016/02/16 职场文书
经典哲理警句:志不真则心不热,心不热则功不贤
2019/11/14 职场文书
mysql使用FIND_IN_SET和group_concat两个方法查询上下级机构
2022/04/20 MySQL