cscfa_tool_division / collections
此包提供集合类和方法以存储数据
V1.0.1
2016-11-29 06:52 UTC
Requires
- symfony/symfony: ~3.0@stable
This package is not auto-updated.
Last update: 2024-09-13 22:13:17 UTC
README
此包提供一组集合类以抽象数组的用法并提供高级继承和逻辑。
集合的结构
此包中的集合由以下架构创建
- 接口
- 方法特性
- 抽象类
- 具体类
接口是CollectionInterface的子类,并定义了集合的公共方法。
方法特性定义了集合的逻辑。它们需要一个'content'属性来使用。因此,集合的功能存储属性必须命名为'content'并且是一个数组。
抽象类是特性的容器,并定义了'content'属性。
具体类可以直接使用。
可用的集合
抽象集合
值集合
映射集合
容器集合
值集
集合助手
集合助手负责集合逻辑的高级行为。它允许合并、分割、遍历和从数组创建集合。此助手是一个服务,可以通过其ID 'collection.helper.std' 获取。
您将能够使用以下方法
为了正常工作,集合助手需要一个支持给定集合的数组转换器。如果您创建自己的集合并希望在助手中使用它,您必须为您的集合创建一个数组转换器。注意现有的转换器支持MapCollectionInterface子类和ValueCollectionInterface子类。
创建一个数组转换器
数组转换器需要实现ArrayCasterInterface。它定义了两个方法
- support($class) : 检查给定的类名是否由数组转换器支持。它必须返回true或false。
- toCollection(array $array, $class) : 使用数组的内容作为内容创建给定类的集合。
在您的转换器创建后,您必须将其注册到服务中,使用'tag' 'collection.helper.caster'。包将自动将其注册到助手的数组转换器管理器中。
关于质量检查的说明
✅ phpcs已测试
✅ phpmd已测试(完整规则集)
✅ phpdcd已测试
✅ phpcpd已测试
✅ phpunit已测试(代码覆盖率完成)
查看文档