advmaker / blade-loop
Extends blade template engine with @loop, @endloop, @break, @continue and in-loop variables
Installs: 1 197
Dependents: 0
Suggesters: 0
Security: 0
Stars: 6
Watchers: 3
Forks: 0
Open Issues: 0
Requires
- php: ~5.5|~7.0
- illuminate/support: 5.0.x|5.1.x|5.2.x
- illuminate/view: 5.0.x|5.1.x|5.2.x
Requires (Dev)
- orchestra/testbench: 3.0.x|3.1.x|3.2.x
- phpunit/phpunit: 4.*
- scrutinizer/ocular: ~1.1
- squizlabs/php_codesniffer: ~2.3
This package is auto-updated.
Last update: 2024-10-26 02:30:07 UTC
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:
Note:
length
,last
,revindex1
andrevindex
variables 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.