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之第十天
Oct 09 PHP
php程序之die调试法 快速解决错误
Sep 17 PHP
php INI配置文件的解析实现分析
Jan 04 PHP
关于php mvc开发模式的感想
Jun 28 PHP
CI使用Tank Auth转移数据库导致密码用户错误的解决办法
Jun 12 PHP
php可应用于面包屑导航的递归寻找家谱树实现方法
Feb 02 PHP
php while循环控制的简单实例
May 30 PHP
php源码 fsockopen获取网页内容实例详解
Sep 24 PHP
PHP用户验证和标签推荐的简单使用
Oct 31 PHP
PHP获取中国时间(上海时区时间)及美国时间的方法
Feb 23 PHP
tp5框架使用composer实现日志记录功能示例
Jan 10 PHP
laravel 框架结合关联查询 when()用法分析
Nov 22 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
超外差式晶体管收音机的组装与统调
2021/03/01 无线电
PHP几个数学计算的内部函数学习整理
2011/08/06 PHP
PHP读取xml方法介绍
2013/01/12 PHP
深入理解require与require_once与include以及include_once的区别
2013/06/05 PHP
Ecshop 后台添加新功能栏目及管理权限设置教程
2017/11/21 PHP
laravel model模型定义实现开启自动管理时间created_at,updated_at
2019/10/17 PHP
Jquery Ajax学习实例 向页面发出请求,返回XML格式数据
2010/03/14 Javascript
js遍历、动态的添加数据的小例子
2013/06/22 Javascript
javascript判断非数字的简单例子
2013/07/18 Javascript
javascript截取字符串小结
2015/04/28 Javascript
nodejs简单实现中英文翻译
2015/05/04 NodeJs
JS+CSS实现鼠标滑过时动态翻滚的导航条效果
2015/09/24 Javascript
聊一聊JS中this的指向问题
2016/06/17 Javascript
JS调用打印机功能简单示例
2016/11/28 Javascript
jquery判断页面网址是否有效的两种方法
2016/12/11 Javascript
关于微信上网页图片点击全屏放大效果
2016/12/19 Javascript
原生JS实现垂直手风琴效果
2017/02/19 Javascript
详解vue-router和vue-cli以及组件之间的传值
2017/07/04 Javascript
JavaScript 替换所有匹配内容及正则替换方法
2020/02/12 Javascript
Python使用稀疏矩阵节省内存实例
2014/06/27 Python
python获取标准北京时间的方法
2015/03/24 Python
python+matplotlib绘制旋转椭圆实例代码
2018/01/12 Python
Python+matplotlib实现华丽的文本框演示代码
2018/01/22 Python
Python 爬虫之Beautiful Soup模块使用指南
2018/07/05 Python
python绘制直方图和密度图的实例
2019/07/08 Python
Python PyInstaller安装和使用教程详解
2020/01/08 Python
CSS3弹性盒模型开发笔记(一)
2016/04/26 HTML / CSS
Lee牛仔裤澳大利亚官网:美国著名牛仔裤品牌
2017/09/02 全球购物
Maxpeedingrods美国:高性能汽车零件
2020/02/14 全球购物
Exception类的常用方法
2012/06/16 面试题
上班迟到检讨书
2014/01/10 职场文书
《植物妈妈有办法》教学反思
2014/02/25 职场文书
遗嘱继承公证书
2014/04/09 职场文书
泸县召开党的群众路线教育实践活动总结大会新闻稿
2014/10/21 职场文书
运动与健康自我评价
2015/03/09 职场文书
go语言中json数据的读取和写出操作
2021/04/28 Golang