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 使用pcntl和libevent 实现Timer功能
Oct 27 PHP
php使用curl访问https示例分享
Jan 17 PHP
php使用base64加密解密图片示例分享
Jan 20 PHP
php实现根据字符串生成对应数组的方法
Sep 22 PHP
php通过session防url攻击方法
Dec 10 PHP
Linux+Nginx+MySQL下配置论坛程序Discuz的基本教程
Dec 23 PHP
php基于curl重写file_get_contents函数实例
Nov 08 PHP
php 类中的常量、静态属性、非静态属性的区别
Apr 09 PHP
php实现自定义中奖项数和概率的抽奖函数示例
May 26 PHP
tp5修改(实现即点即改)
Oct 18 PHP
tp5递归 无限级分类详解
Oct 18 PHP
Laravel框架控制器,视图及模型操作图文详解
Dec 04 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 编写的 25个游戏脚本
2009/05/11 PHP
PHP的autoload自动加载机制使用说明
2010/12/28 PHP
php制作动态随机验证码
2015/02/12 PHP
js加解密 脚本解密
2008/02/22 Javascript
JavaScript写的一个自定义弹出式对话框代码
2010/01/17 Javascript
ExtJs 表单提交登陆实现代码
2010/08/19 Javascript
基于jquery的无缝循环新闻列表插件
2011/03/07 Javascript
multiSteps 基于Jquery的多步骤滑动切换插件
2011/07/22 Javascript
jquery中map函数遍历数组用法实例
2015/05/18 Javascript
Jquery全选与反选点击执行一次的解决方案
2015/08/14 Javascript
jQuery实现简单的图片查看器
2020/09/11 Javascript
使用angularjs创建简单表格
2016/01/21 Javascript
jQuery获取复选框被选中数量及判断选择值的方法详解
2016/05/25 Javascript
jQuery实现手机版页面翻页效果的简单实例
2016/10/05 Javascript
Vue 2.x教程之基础API
2017/03/06 Javascript
简单的网页广告特效实例
2017/08/19 Javascript
vue.js实现点击后动态添加class及删除同级class的实现代码
2018/04/04 Javascript
Vuex 单状态库与多模块状态库详解
2018/12/11 Javascript
JSON 入门教程基础篇 json入门学习笔记
2020/09/22 Javascript
python+matplotlib绘制3D条形图实例代码
2018/01/17 Python
Python cookbook(数据结构与算法)对切片命名清除索引的方法
2018/03/13 Python
Python实现的质因式分解算法示例
2018/05/03 Python
python 保存float类型的小数的位数方法
2018/10/17 Python
Python爬虫实现验证码登录代码实例
2019/05/10 Python
python如何获取列表中每个元素的下标位置
2019/07/01 Python
Python安装OpenCV的示例代码
2020/03/05 Python
python能自学吗
2020/06/18 Python
keras的backend 设置 tensorflow,theano操作
2020/06/30 Python
职业生涯规划书结束语
2014/04/15 职场文书
王力宏牛津大学演讲稿
2014/05/22 职场文书
大学第二课堂活动总结
2014/07/08 职场文书
干部作风整顿自我剖析材料和整改措施
2014/09/18 职场文书
务工证明怎么写
2015/06/18 职场文书
回门宴新娘答谢词
2015/09/29 职场文书
python Tkinter的简单入门教程
2021/04/11 Python
关于Redis的主从复制及哨兵问题
2022/06/16 Redis