harbor/data-container

This package is abandoned and no longer maintained. The author suggests using the https://github.com/harborphp/collections package instead.

Generic Collection Classes

2.0.3 2014-10-28 11:55 UTC

This package is auto-updated.

Last update: 2021-01-17 00:53:18 UTC


README

A Generic Collections implementation.

The Trait implements all of the methods for the following interfaces:

  • Harbor\Collections\CollectionInterface
  • ArrayAccess
  • Countable
  • IteratorAggregate
  • JsonSerializable

The Harbor\Collections\Collection class simply uses the Trait and implements those interfaces, plus adds a constructor.

Installation

composer require "harbor/collections:2.0.*"

Requirements

PHP 5.4+

Usage

As Trait

<?php

class Foo implements CollectionInterface, ArrayAccess, Countable, IteratorAggregate, JsonSerializable
{
    use Harbor\Collections\CollectionTrait;
}

// Use it
$foo = new Foo();
$foo->bar = 'bar';

As Object

<?php

use Harbor\Collections\CollectionInterface;

class Foo
{
    protected $data;

    public function __construct(CollectionInterface $data)
    {
        $this->data = $data;
    }
}

// Use it
$foo = new Foo(new Collection());