cloudcreativity/utils-collection

Our standard class for handling lists in PHP.

v1.1.0 2019-02-16 13:48 UTC

This package is auto-updated.

Last update: 2022-06-16 20:50:22 UTC


README

Build Status

cloudcreativity/utils-collection

Our standard collection class for handling lists in PHP. By lists, we mean numerically indexed arrays.

This package also contains our StandardIteratorInterface. We use this if we are writing specific collection classes that hold only particular types of objects.

License

Apache License (Version 2.0). Please see License File for more information.

Contributing

File an issue, or ideally submit a pull request. Bug fixes should be submitted against the master branch, new features/changes should be submitted against the develop branch. Pull requests should have updated or new unit tests in them.

Make sure your IDE has an EditorConfig plugin installed.

Testing

Clone the repository, then:

composer up
vendor/bin/phpunit

Collection

The CloudCreativity\Utils\Collection\Collection is a standard class for handling numerically indexed lists. It comes with the following methods.

Modifiers

The following methods modify the list contained within the collection:

  • add
  • addStrict
  • addObjects
  • clear
  • fill
  • fillObject
  • insertAt
  • pop
  • push
  • pushObjects
  • remove
  • removeAt
  • removeStrict
  • replace
  • shift
  • unshift
  • unshiftObjects

Accessors

The following methods give access to items within the collection:

  • first
  • itemAt
  • last

Querying

The following methods can be used to assess or query the contents of the collection;

  • any
  • contains
  • containsStrict
  • equals
  • equalsStrict
  • every
  • indexOf
  • indexOfStrict
  • isEmpty
  • isNotEmpty
  • search
  • searchStrict

Helpers

The following methods assist with handling the list, and return new instances of the collection. (I.e. the original collection is not modified.)

  • all
  • cast (static)
  • chunk
  • compact
  • copy
  • count
  • create (static)
  • diff
  • each
  • filter
  • implode
  • intersect
  • invoke
  • itemsAt
  • map
  • pad
  • reduce
  • reject
  • replicate
  • reverse
  • slice
  • sort
  • sync
  • take
  • tap
  • unique
  • uniqueStrict
  • without
  • withoutStrict