aircury/collection

提供集合结构的库,用于替代数组


README

PHP 数组带额外功能。增强版的数组。

使用方法

使用此库有两种方式。创建对象集合或 PHP 标量类型集合。

对象集合

要创建自己的集合,最简单的方法是复制并调整示例 CarCollection,将 Car 替换为你需要的类。

更通用的步骤创建自己的集合

  • 扩展 AbstractCollection
  • 在子类中实现以下方法,
    • getClass() 提供关于集合中所有对象期望的类或接口的信息。
    • offsetGet($offset) 指定返回的类。
    • toArray() 提供关于数组元素 PHPDoc 的信息。
    • first() 指定返回的类。

标量类型集合

此库自带以下集合,可直接使用

  • StringCollection
  • StringOrNullCollection
  • IntegerCollection
  • IntegerOrNullCollection

这些类包含了你从数据类型期望的额外功能,例如 implode()sum() 等。

如果它们不符合你的需求,你可以扩展它们中的任何一个或 AbstractScalarTypeCollection 来实现自己的。