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学习笔记之面向对象编程
Dec 29 PHP
利用php+mcDropdown实现文件路径可在下拉框选择
Aug 07 PHP
PHP正则表达式 /i, /is, /s, /isU等介绍
Oct 23 PHP
PHP中的闭包(匿名函数)浅析
Feb 07 PHP
浅谈php中include文件变量作用域
Jun 18 PHP
php实现微信公众号主动推送消息
Dec 31 PHP
Joomla开启SEF的方法
May 04 PHP
浅谈PHP Cookie处理函数
Jun 10 PHP
php英文单词统计器
Jun 23 PHP
Yii2中YiiBase自动加载类、引用文件方法分析(autoload)
Jul 25 PHP
php正则去除网页中所有的html,js,css,注释的实现方法
Nov 03 PHP
Laravel 中使用简单的方法跟踪用户是否在线(推荐)
Oct 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
PHP大批量插入数据库的3种方法和速度对比
2014/07/08 PHP
php+mysql数据库查询实例
2015/01/21 PHP
php中使用key,value,current,next和prev函数遍历数组的方法
2015/03/17 PHP
浅谈PHP中如何实现Hook机制
2017/11/14 PHP
PHP基于imagick扩展实现合成图片的两种方法【附imagick扩展下载】
2017/11/14 PHP
一个网马的tips实现分析
2010/11/28 Javascript
自定义ExtJS控件之下拉树和下拉表格附源码
2013/10/15 Javascript
jquery实现导航固定顶部的效果仿蘑菇街
2014/10/22 Javascript
jQuery图片轮播(二)利用构造函数和原型创建对象以实现继承
2016/12/06 Javascript
利用CSS、JavaScript及Ajax实现图片预加载的三大方法
2017/01/22 Javascript
jquery获取下拉框中的循环值
2017/02/08 Javascript
Vue实现动态显示textarea剩余字数
2017/05/22 Javascript
vue如何从接口请求数据
2017/06/22 Javascript
详解vue 模拟后台数据(加载本地json文件)调试
2017/08/25 Javascript
ES6中Array.find()和findIndex()函数的用法详解
2017/09/16 Javascript
vue.js,ajax渲染页面的实例
2018/02/11 Javascript
angularjs1.5 组件内用函数向外传值的实例
2018/09/30 Javascript
vue路由前进后退动画效果的实现代码
2018/12/10 Javascript
js验证身份证号码记录的方法
2019/04/26 Javascript
JS中的算法与数据结构之常见排序(Sort)算法详解
2019/08/16 Javascript
jQuery实现鼠标移入显示蒙版效果
2020/01/11 jQuery
python Selenium爬取内容并存储至MySQL数据库的实现代码
2017/03/16 Python
Python学习入门之区块链详解
2017/07/25 Python
python 接口测试response返回数据对比的方法
2018/02/11 Python
通过 Django Pagination 实现简单分页功能
2019/11/11 Python
PageFactory设计模式基于python实现
2020/04/14 Python
Python基于os.environ从windows获取环境变量
2020/06/09 Python
用Python自动清理系统垃圾的实现
2021/01/18 Python
伦敦一家非常流行的时尚精品店:Oxygen Boutique
2017/01/15 全球购物
JAVA中的关键字有什么特点
2014/03/07 面试题
财务管理职业生涯规划书
2014/02/26 职场文书
小学教师读书活动总结
2014/07/08 职场文书
华清池导游词
2015/02/02 职场文书
统招统分证明
2015/06/23 职场文书
煤矿隐患排查制度
2015/08/05 职场文书
导游词书写之黄山
2019/08/06 职场文书