advmaker / blade-loop

扩展 blade 模板引擎,增加 @loop、@endloop、@break、@continue 以及循环变量功能

v1.0.0 2016-04-14 11:05 UTC

This package is auto-updated.

Last update: 2024-08-26 02:05:25 UTC


README

Latest Version on Packagist Software License Build Status Coverage Status Quality Score Total Downloads

此包灵感来源于 https://github.com/RobinRadic/blade-extensions,但不是对 blade 引擎进行多项操作(例如:Markdown 解析、多个扩展等),而是只添加 @loop 指令来支持类似 twig 的循环和循环控制指令。

安装

通过 Composer

$ composer require advmaker/blade-loop

并将提供者添加到 config/app.php

'providers' => [
    //...

    Advmaker\BladeLoop\BladeLoopServiceProvider::class,

    //...
]

说明

默认情况下,在 v5.2.12 之前,blade 没有提供有用的 @break@continue,并且版本 5.2.22 之前不支持条件。所以这些都被包括在内。

此外,在循环中引入了 $loop 变量,(几乎)与 Twig 完全相同。描述表

注意:lengthlastrevindex1revindex 变量仅适用于 PHP 数组,或者实现了 Countable 接口的对象。

用法

@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

变更日志

有关最近更改的更多信息,请参阅 CHANGELOG

测试

$ composer test

贡献

有关详细信息,请参阅 CONTRIBUTINGCONDUCT

安全

如果您发现任何与安全相关的问题,请通过电子邮件 github@advmaker.net 联系,而不是使用问题跟踪器。

致谢

许可证

MIT 许可证 (MIT)。有关更多信息,请参阅 许可证文件