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页面跳转代码 输入网址跳转到你定义的页面
Mar 28 PHP
ThinkPHP调试模式与日志记录概述
Aug 22 PHP
用 Composer构建自己的 PHP 框架之设计 MVC
Oct 30 PHP
PHP图像裁剪缩略裁切类源码及使用方法
Jan 07 PHP
php微信开发之上传临时素材
Jun 24 PHP
PHP 5.6.11中CURL模块问题的解决方法
Aug 08 PHP
PHP 闭包详解及实例代码
Sep 28 PHP
PHP实现mysqli批量执行多条语句的方法示例
Jul 22 PHP
php readfile()修改文件上传大小设置
Aug 11 PHP
PHP 记录访客的浏览信息方法
Jan 29 PHP
PHP后台备份MySQL数据库的源码实例
Mar 18 PHP
TP5框架安全机制实例分析
Apr 05 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
phpexcel导入excel数据使用方法实例
2013/12/24 PHP
php银联网页支付实现方法
2015/03/04 PHP
2017年最好用的9个php开发工具推荐(超好用)
2017/10/23 PHP
两个DIV等高的JS的实现代码
2007/12/23 Javascript
JS模块与命名空间的介绍
2013/03/22 Javascript
js判断浏览器类型的方法
2013/08/07 Javascript
JS.GetAllChild(element,deep,condition)使用介绍
2013/09/21 Javascript
文本框只能选择数据到文本框禁止手动输入
2013/11/22 Javascript
jquery validate和jquery form 插件组合实现验证表单后AJAX提交
2015/08/26 Javascript
js获取鼠标位置实例详解
2015/12/09 Javascript
如何判断Javascript对象是否存在的简单实例
2016/05/18 Javascript
学好js,这些js函数概念一定要知道【推荐】
2017/01/19 Javascript
jQuery插件HighCharts实现的2D对数饼图效果示例【附demo源码下载】
2017/03/09 Javascript
vue使用axios跨域请求数据问题详解
2017/10/18 Javascript
浅谈NodeJs之数据库异常处理
2017/10/25 NodeJs
详解vue axios二次封装
2018/07/22 Javascript
移动端(微信等使用vConsole调试console的方法
2019/03/05 Javascript
Node.js操作MongoDB数据库实例分析
2020/01/19 Javascript
js 闭包深入理解与实例分析
2020/03/19 Javascript
vue实践---vue不依赖外部资源实现简单多语操作
2020/09/21 Javascript
Vue 使用iframe引用html页面实现vue和html页面方法的调用操作
2020/11/16 Javascript
修改NPM全局模式的默认安装路径的方法
2020/12/15 Javascript
django的登录注册系统的示例代码
2018/05/14 Python
基于tensorflow加载部分层的方法
2018/07/26 Python
Windows 下更改 jupyterlab 默认启动位置的教程详解
2020/05/18 Python
工商管理应届生求职信
2013/10/07 职场文书
大学生个人自荐信
2014/02/24 职场文书
公司大门门卫岗位职责
2014/06/11 职场文书
化学工程专业求职信
2014/08/10 职场文书
党的群众路线对照检查材料思想汇报
2014/09/25 职场文书
科学育儿宣传标语
2014/10/08 职场文书
会计专业自荐信范文
2015/03/05 职场文书
思想道德自我评价2015
2015/03/09 职场文书
企业年会祝酒词
2015/08/11 职场文书
禁毒主题班会教案
2015/08/14 职场文书
Python OpenCV之常用滤波器使用详解
2022/04/07 Python