lucagentile / switch-array-key-extension
此包已被废弃,不再维护。未建议替代包。
通过其一个键选择一组对象
dev-master
2017-08-18 10:31 UTC
Requires (Dev)
- php: >=5.5.9
- doctrine/collections: ^1.3
- illuminate/database: ^5.4
- phpunit/phpunit: ~4.5
- twig/extensions: ~1.2
This package is not auto-updated.
Last update: 2022-05-04 11:02:55 UTC
README
Twig 扩展
给定一个集合或多级数组,通过关联到该键的子值获得一个新的数据集。
与 Doctrine 和 Eloquent 集合兼容。
例如,如果您有一个数组并提供了 'age' 键给过滤器
[
['name' => 'Mark', 'surname' => 'Lenders', 'age' => '17'],
['name' => 'Oliver', 'surname' => 'Hutton', 'age' => '15'],
['name' => 'Benjamin', 'surname' => 'Price', 'age' => '17'],
['name' => 'Bruce', 'surname' => 'Harper', 'age' => '15'],
]
过滤器返回
[
'15' => [
['name' => 'Oliver', 'surname' => 'Hutton', 'age' => '15'],
['name' => 'Bruce', 'surname' => 'Harper', 'age' => '15']
],
'17' => [
['name' => 'Mark', 'surname' => 'Lenders', 'age' => '17'],
['name' => 'Benjamin', 'surname' => 'Price', 'age' => '17']
]
]
何时使用
通常,您不应该在视图中这样做。当提供给视图时,数据应该是可供消费的。因此,在考虑使用此扩展之前,您应该问自己
- 我能否在提供给视图之前从服务或控制器中操作数据(函数或ViewModel)?
- 我的需求是否可以通过前端JavaScript更好地满足(例如,如果您需要在运行时多次操作数据)?
如果不是(这可能发生在您“无法”接触后端代码的情况下),您可以使用此扩展。
说明
composer require lucagentile\arrange-by-key-twig
Symfony: https://symfony.com.cn/doc/current/templating/twig_extension.html#register-an-extension-as-a-service
#services.yml
services:
twig.extension.arrangebykey:
class: Gautile\Twig\ArrangeByKeyExtension
tags:
- { name: twig.extension }
Laravel: https://github.com/rcrowe/TwigBridge#extensions
许可
MIT