未加星标

Laravel框架中Blade模板的用法示例

字体大小 | |
[开发(php) 所属分类 开发(php) | 发布者 店小二05 | 时间 | 作者 红领巾 ] 0人收藏点击收藏

简介

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代码审计工具 php开发工程师 移动开发者大会 移动互联网开发 web开发工程师 软件开发流程 软件开发工程师

主题: LaravelPHP数据变量谢大
分页:12
转载请注明
本文标题:Laravel框架中Blade模板的用法示例
本站链接:http://www.codesec.net/view/563716.html
分享请点击:


1.凡CodeSecTeam转载的文章,均出自其它媒体或其他官网介绍,目的在于传递更多的信息,并不代表本站赞同其观点和其真实性负责;
2.转载的文章仅代表原创作者观点,与本站无关。其原创性以及文中陈述文字和内容未经本站证实,本站对该文以及其中全部或者部分内容、文字的真实性、完整性、及时性,不作出任何保证或承若;
3.如本站转载稿涉及版权等问题,请作者及时联系本站,我们会及时处理。
登录后可拥有收藏文章、关注作者等权限...
技术大类 技术大类 | 开发(php) | 评论(0) | 阅读(32)