cscfa_tool_division/collections

此包提供集合类和方法以存储数据

安装: 86

依赖: 2

建议者: 0

安全性: 0

星标: 0

关注者: 2

分支: 0

开放问题: 0

类型:symfony-bundle

V1.0.1 2016-11-29 06:52 UTC

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'。包将自动将其注册到助手的数组转换器管理器中。

关于质量检查的说明

SensioLabsInsight

✅ phpcs已测试

✅ phpmd已测试(完整规则集)

✅ phpdcd已测试

✅ phpcpd已测试

✅ phpunit已测试(代码覆盖率完成)

查看文档