advmaker/blade-loop
Composer 安装命令:
composer require advmaker/blade-loop
包简介
Extends blade template engine with @loop, @endloop, @break, @continue and in-loop variables
README 文档
README
This package inspired from https://github.com/RobinRadic/blade-extensions but instead of doing multiple things with blade engine (ie: markdown parsing, multiple extensions, etc) it just adds @loop directive to support twig-like loop and loop control directives.
Install
Via Composer
$ composer require advmaker/blade-loop
And add provider to config/app.php
'providers' => [
//...
Advmaker\BladeLoop\BladeLoopServiceProvider::class,
//...
]
Explanation
By default, before v5.2.12 blade doesn't have @break and @continue which are useful to have. And before version 5.2.22 it's not supported conditions. So that's included.
Furthermore, the $loop variable is introduced inside loops, (almost) exactly like Twig. Description table:
| Variable | Description |
|---|---|
| $loop->index1 | The current iteration of the loop. (1 indexed) |
| $loop->index | The current iteration of the loop. (0 indexed) |
| $loop->revindex1 | The number of iterations from the end of the loop (1 indexed) |
| $loop->revindex | The number of iterations from the end of the loop (0 indexed) |
| $loop->first | True if first iteration |
| $loop->last | True if last iteration |
| $loop->length | The number of items in the sequence |
| $loop->parent | The parent context |
Note:
length,last,revindex1andrevindexvariables are only available for PHP arrays, or objects that implement the Countable interface.
Usage
@loop($array as $key => $val) {{ $loop->index;}} {{-- int, zero based --}} {{ $loop->index1; }} {{-- int, starts at 1 --}} {{ $loop->revindex; }} {{-- int --}} {{ $loop->revindex1; }} {{-- int --}} {{ $loop->first; }} {{-- bool --}} {{ $loop->last; }} {{-- bool --}} {{ $loop->even; }} {{-- bool --}} {{ $loop->odd; }} {{-- bool --}} {{ $loop->length; }} {{-- int --}} @loop($val as $inner_key => $val) {{ $loop->parent->odd; }} {{ $loop->parent->index; }} @endloop @break(false) @continue($loop->index === $loop->revindex) @endloop
Change log
Please see CHANGELOG for more information what has changed recently.
Testing
$ composer test
Contributing
Please see CONTRIBUTING and CONDUCT for details.
Security
If you discover any security related issues, please email github@advmaker.net instead of using the issue tracker.
Credits
License
The MIT License (MIT). Please see License File for more information.
统计信息
- 总下载量: 1.2k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 7
- 点击次数: 0
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2016-04-13