dpolac / twig-only-once
Twig 测试,仅在每次值返回一次时返回 true。
v1.0.0
2016-04-30 15:45 UTC
Requires
- php: >=5.3.0
- ext-spl: *
- twig/twig: ~1.0
Requires (Dev)
- phpunit/phpunit: ~5.0
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());
用法
扩展提供两个测试 onlyOnce
和 onlyOnceWhenOccurs
。
###is onlyOnce
{% if value is onlyOnce %} ... {% endif %} {% if value is onlyOnce(space) %} ... {% endif %}
测试仅在第一次调用给定 value
和 space
对时返回 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 %}
测试仅在调用给定 value
和 space
对的第 n 次时返回 true。注意,onlyOnce
是 onlyOnceWhenOccurs(1)
的别名,因此它们共享内部出现计数器。
参数
- value: 如
onlyOnce
中所述, - n: 测试返回 true 之前发生的次数数,
- space: 可以是任何字符串(默认:
'default'
)。
示例
在 ./Tests/Fixtures/
目录中检查测试以获取更多示例。