dpolac/twig-only-once

Twig 测试,仅在每次值返回一次时返回 true。

v1.0.0 2016-04-30 15:45 UTC

This package is auto-updated.

Last update: 2024-08-29 02:50:23 UTC


README

Twig 测试,仅在每次值返回一次时返回 true。

用于循环唯一值。

    {% for article in articles if article.category is onlyOnce %}
        * {{ article.category }}
    {% endfor %}

安装

  • 通过 Composer 安装
    composer require dpolac/twig-only-once
  • 将扩展添加到 Twig
    $twig->addExtension(new \DPolac\OnlyOnce\OnlyOnceExtension());

用法

扩展提供两个测试 onlyOnceonlyOnceWhenOccurs

###is onlyOnce

    {% if value is onlyOnce %} ... {% endif %}
    {% if value is onlyOnce(space) %} ... {% endif %}

测试仅在第一次调用给定 valuespace 对时返回 true。

参数

  • value: 可以是任何类型的值
    • 数字 - 转换为字符串,所以 12'12' 被视为相同值,
    • 字符串,
    • 对象 - 通过引用比较,所以 new \stdClass()new \stdClass() 被视为不同的值,
    • 数组 - 当具有完全相同的键值集时,被视为相同值;哈希中键的顺序被忽略,
  • space: 可以是任何字符串(默认: 'default'

###is onlyOnceWhenOccurs

    {% if value is onlyOnceWhenOccurs(n) %} ... {% endif %}
    {% if value is onlyOnceWhenOccurs(n, space) %} ... {% endif %}

测试仅在调用给定 valuespace 对的第 n 次时返回 true。注意,onlyOnceonlyOnceWhenOccurs(1) 的别名,因此它们共享内部出现计数器。

参数

  • value: 如 onlyOnce 中所述,
  • n: 测试返回 true 之前发生的次数数,
  • space: 可以是任何字符串(默认: 'default')。

示例

./Tests/Fixtures/ 目录中检查测试以获取更多示例。