简介
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
注意:
@for ($i = 0; $i < 10; ++$i)
{{ $i }} <br />
@endfor
3.2 foreach
注意:
@foreach ($data as $k => $v)
{{ $k }} <br />
@endforeach
3.3 forelse
注意:
@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>
总结
laravel ORM 只开启created_at的几种方法总结下面小编就为大家分享一篇laravel ORM 只开启created_at的几种方法总结,具有很好的参考价值,希望对大家有所帮助。一
通过源码解析Laravel的依赖注入这篇文章主要给大家介绍了如何通过源码解析Laravel的依赖注入的相关资料,文中通过示例代码介绍的非常详细,对大
Laravel中unique和exists验证规则的优化详解这篇文章主要给大家介绍了关于Laravel中unique和exists验证规则的优化的相关资料,文中通过示例代码介绍的非常详细,
Laravel 5.5基于内置的Auth模块实现前后台登陆详解最近在使用laravel5.5,利用其实现了一个功能,下面分享给大家,这篇文章主要给大家介绍了关于Laravel 5.5基于内置的
源码分析 Laravel 重复执行同一个队列任务的原因laravel 的队列服务对各种不同的后台队列服务提供了统一的 API,下面这篇文章通过源码分析给大家介绍了关于 Larave
关于 Laravel Redis 多个进程同时取队列问题详解这篇文章主要给大家介绍了关于 Laravel Redis 多个进程同时取队列问题的相关资料,文中通过示例代码介绍的非常详细