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伪静态写法附代码
Jun 20 PHP
apache2.2.4+mysql5.0.77+php5.2.8安装精简
Apr 29 PHP
php 数学运算验证码实现代码
Oct 11 PHP
php中的常用魔术方法总结
Aug 02 PHP
php ckeditor上传图片文件名乱码解决方法
Nov 15 PHP
php之Smarty模板使用方法示例详解
Jul 08 PHP
初识php MVC
Sep 10 PHP
PHP获取文件扩展名的4种方法
Nov 24 PHP
PHP 7.1新特性的汇总介绍
Dec 16 PHP
php技巧小结【推荐】
Jan 19 PHP
PHP实现文字写入图片功能
Feb 18 PHP
laravel excel 上传文件保存到本地服务器功能
Nov 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数据缓存技术
2007/02/14 PHP
php实现简单的上传进度条
2015/11/17 PHP
php rsa 加密,解密,签名,验签详解
2016/12/06 PHP
php实现推荐功能的简单实例
2019/09/29 PHP
基于jQuery的弹出警告对话框美化插件(警告,确认和提示)
2010/06/10 Javascript
javascript模拟枚举的简单实例
2014/03/06 Javascript
jquery原创弹出层折叠效果点击折叠弹出一个层
2014/03/12 Javascript
node.js中的path.sep方法使用说明
2014/12/08 Javascript
JavaScript提高性能知识点汇总
2016/01/15 Javascript
javascript RegExp 使用说明
2016/05/21 Javascript
Javascript iframe交互并兼容各种浏览器的解决方法
2016/07/12 Javascript
js脚本编写简单刷票投票系统
2017/06/27 Javascript
Vue三种常用传值示例(父传子、子传父、非父子)
2018/07/24 Javascript
nodejs微信开发之接入指南
2019/03/17 NodeJs
vue实现搜索过滤效果
2019/05/28 Javascript
五分钟搞懂Vuex实用知识(小结)
2019/08/12 Javascript
javascript单张多张图无缝滚动实例代码
2020/05/10 Javascript
Vuex的各个模块封装的实现
2020/06/05 Javascript
微信小程序收藏功能的实现代码
2020/06/19 Javascript
Python实现的简单发送邮件脚本分享
2014/11/07 Python
全面了解Python环境配置及项目建立
2016/06/30 Python
Python安装第三方库及常见问题处理方法汇总
2016/09/13 Python
python排序函数sort()与sorted()的区别
2018/09/18 Python
Pandas统计重复的列里面的值方法
2019/01/30 Python
python队列Queue的详解
2019/05/10 Python
Python 使用folium绘制leaflet地图的实现方法
2019/07/05 Python
python读取大文件越来越慢的原因与解决
2019/08/08 Python
Python Multiprocessing多进程 使用tqdm显示进度条的实现
2019/08/13 Python
python urllib爬虫模块使用解析
2019/09/05 Python
解决django FileFIELD的编码问题
2020/03/30 Python
学生会主席竞聘书
2014/03/31 职场文书
电子信息工程专业自荐书
2014/06/24 职场文书
优秀共产党员演讲稿
2014/09/04 职场文书
2014年维修电工工作总结
2014/11/20 职场文书
2015年建筑工作总结报告
2015/05/04 职场文书
详解Python牛顿插值法
2021/05/11 Python