Laravel 5.3 新特性系列 —— Blade 模板新增 $loop 变量
2017-05-04 17:47
489 查看
什么是Blade指令?
Laravel的Blade模板语言提供了指令功能,这些指令其实是一些自定义标签—— 以
@开头,通常用于控制结构。如果你用Blade写过模板,就会对形如
@if、
@foreach这些指令非常熟悉。
这些指令通常都是相应PHP代码的等价物,例如
@if(condition)等价于
<?php if($condition):
$loop变量
在Laravel 5.3中,@foreach指令提供了更加强大的功能,在每一个
@foreach循环体中都可以调用一个新的
$loop变量。该变量是一个
stdClass实例,包含了当前循环的元数据信息,让我们来看一下它提供的属性:
index:从1开始的循环索引,1意味着是第一个条目。
remaining:循环还有多少个条目,比如当前是3个中的第一个,那么会返回2;
count:循环总条目数
first:是否是第一个
last:是否是最后一个
depth:循环的层级
parent:如果循环位于另一个@foreach中,返回父循环引用,否则返回null
下面是一段示例代码:
<ul> @foreach ($pages as $page) <li>{{ $page->title }} ({{ $loop->index }} / {{ $loop->count }})</li> @endforeach </ul>
如果有嵌套循环,可以使用
depth判断,并且通过
$loop的
parent属性获取相应信息:
<ul> @foreach ($pages as $page) <li>{{ $loop->index }}: {{ $page->title }} @if ($page->hasChildren()) <ul> @foreach ($page->children() as $child) <li>{{ $loop->parent->index }}.{{ $loop->index }}: {{ $child->title }}</li> @endforeach </ul> @endif </li> @endforeach </ul>
就是这样简单、方便。
相关文章推荐
- laravel blade模板loop变量使用
- Laravel中Blade模板《一》——变量输出及控制流程
- Laravel 5 系列教程三:视图变量传递和Blade
- Laravel基础-blade模板引擎之变量操作
- Java零基础系列002——命名、变量类型、类型转换、JDK中二进制整数和数字分隔符新特性
- laravel的blade模板的布局嵌套
- Silverlight 5 RC新特性探索系列:13.Silverlight 5 RC 新增对并行任务库(TPL)的支持
- Laravel框架中Blade模板引擎的一些标签的区别介绍
- Laravel 如何在Blade模板中能够根据不同的子页面附加不同的js和CSS
- laravel blade模板介绍
- PHP 从 5.3.x 到 7.1.x 各版本新增特性简明列表
- Eclipse 3.6M5 发布 新增动态路径变量等特性 - CSDN新闻
- laravel的blade模板笔记
- Laravel之Blade模板引擎
- laravel视图blade模板使用集合
- Silverlight 5 beta新特性系列:6.Silverlight 5新增低延迟声音效果类SoundEffect.支持wav音乐格式
- Silverlight 5 beta新特性探索系列:6.Silverlight 5新增低延迟声音效果类SoundEffect.支持wav音乐格式【附带源码实例】
- 【5】说说Laravel5的blade模板
- 关于laravel blade模板中 show stop 的测试总结