vkr/collection 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

vkr/collection

最新稳定版本:v1.0.2

Composer 安装命令:

composer require vkr/collection

包简介

Store and retrieve objects based on keys

README 文档

README

This package implements a collection of objects of same type that have a unique field defined as a key. It requires PHP 7.2+ to run.

Usage

First, create a data class that implements VKR\Collection\Contracts\Collectable and define its getKey() method. It is important that getKey() should return the value of the key field, not its name, so it should look like this:

public function getKey(): string
{
    return $this->keyField;
}

It is up to client coders to ensure that the value of the key field is always string and always unique.

Then, initialize VKR\Collection\Collection and add your data objects to it using add(Collectable $object). All elements of a single collection object MUST be of same type. If an object with the same key exists in the collection, add() will overwrite it.

remove(string $key) will delete an object from the collection by key and return the removed object. If no element with the given key is found, it will return null.

get(string $key) will retrieve objects by key, or null if not found.

all() retrieves zero-indexed array of collection member objects. If an object was removed from the collection, keys get re-indexed to the natural order of elements.

toScalarArray(string $valueField) converts the collection into one-dimensional associative array with values of the key field as keys and values of $valueField as values.

toArray() converts the collection into an associative array that is identical to the result of all(), but numeric keys are swapped for values of the key field.

If the data class implements VKR\Collection\Contracts\Arrayable, toArray() will attempt deep rendering by calling the toArray() method on each data object.

统计信息

  • 总下载量: 35.44k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 1
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 1
  • Forks: 1
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2018-09-20