2017-25 © Pedro Peláez
 

library data-structure

Data collections and containers

image

graze/data-structure

Data collections and containers

  • Tuesday, December 12, 2017
  • by graze
  • Repository
  • 13 Watchers
  • 8 Stars
  • 21,168 Installations
  • PHP
  • 5 Dependents
  • 0 Suggesters
  • 1 Forks
  • 0 Open issues
  • 10 Versions
  • 16 % Grown

The README.md

graze/data-structure

Build status Code Quality ![Latest Version][ico-package] PHP ~5.3 ![MIT Licensed][ico-license] Style CI, (*1)

This library implements common data collections and containers in PHP., (*2)

Install

It can be installed in whichever way you prefer, but we recommend Composer., (*3)

``` bash $ composer require graze/data-structure, (*4)


## Usage ```php <?php use Graze\DataStructure\Collection\Collection; use Graze\DataStructure\Container\Container; use Graze\DataStructure\Container\FlatContainer; // Collection $collection = new Collection(['foo', 'bar']); $collection->add('baz'); $collection->contains('baz'); $collection->getAll(); $collection->filter(function ($item) {}); $collection->map(function ($item) {}); $collection->reduce(function ($res, $item) {}); $collection->sort(function ($itemA, $itemB) {}); $collection->sortOn(function ($item) {}); // Container $container = new Container(['foo' => 0, 'bar' => 1]); $container->add('baz', 2); $container->has('baz'); $container->forAll(function ($value, $key) {}); $container->get('baz'); $container->set('bam', 3); $container->remove('bam'); // FlatContainer $container = new FlatContainer(['foo' => 0, 'bar' => ['child' => 'arr'], 'baz' => new Container(['ack' => 'bar'])]); $container->has('bar.child'); $container->has('baz.ack'); $container->get('bar.child'); $container->get('baz.ack'); $container->set('bar.other', 'more'); $container->remove('baz.ack');

Immutable structures

<?php

use Graze\DataStructure\Collection\ImmutableCollection;
use Graze\DataStructure\Container\ImmutableContainer;
use Graze\DataStructure\Container\ImmutableFlatContainer;

// Immutable collection
$collection = new ImmutableCollection(['foo', 'bar']);
$collection = $collection->add('baz');
$collection = $collection->filter(function ($item) {});
$collection = $collection->sort(function ($itemA, $itemB) {});
$collection = $collection->sortOn(function ($item) {});

// Immutable container
$container = new ImmutableContainer(['foo' => 0, 'bar' => 1]);
$container = $container->add('baz', 2);
$container = $container->set('bam', 3);
$container = $container->remove('bam');

// Immutable flat container
$container = new ImmutableFlatContainer(['foo' => 0, 'bar' => ['child' => 'arr'], 'baz' => new ImmutableContainer(['ack' => 'bar'])]);
$container = $container->add('a.new.array', 'more');
$container = $container->set('bar.other', 'more');
$container = $container->remove('baz.ack');

Contributing

Contributions are accepted via Pull Request, but passing unit tests must be included before it will be considered for merge., (*5)

$ make
$ make test

License

The content of this library is released under the MIT License by Nature Delivered Ltd.br/ You can find a copy of this license at http://www.opensource.org/licenses/mit or in LICENSE., (*6)

The Versions

12/12 2017

dev-test-delimiters

dev-test-delimiters https://github.com/graze/data-structure

Data collections and containers

  Sources   Download

MIT

The Requires

 

The Development Requires

container filter collection array structure data map reduce parameters

29/11 2017

dev-copyright

dev-copyright https://github.com/graze/data-structure

Data collections and containers

  Sources   Download

MIT

The Requires

 

The Development Requires

container filter collection array structure data map reduce parameters

29/11 2017

dev-master

9999999-dev https://github.com/graze/data-structure

Data collections and containers

  Sources   Download

MIT

The Requires

 

The Development Requires

container filter collection array structure data map reduce parameters

29/11 2017

2.1.0

2.1.0.0 https://github.com/graze/data-structure

Data collections and containers

  Sources   Download

MIT

The Requires

 

The Development Requires

container filter collection array structure data map reduce parameters

24/11 2017

dev-dot-access

dev-dot-access https://github.com/graze/data-structure

Data collections and containers

  Sources   Download

MIT

The Requires

 

The Development Requires

container filter collection array structure data map reduce parameters

22/11 2017

dev-factory

dev-factory https://github.com/graze/data-structure

Data collections and containers

  Sources   Download

MIT

The Requires

 

The Development Requires

container filter collection array structure data map reduce parameters

20/11 2015

2.0.0

2.0.0.0 https://github.com/graze/data-structure

Data collections and containers

  Sources   Download

MIT

The Requires

 

The Development Requires

container filter collection array structure data map reduce parameters

24/09 2014

1.0.0

1.0.0.0 https://github.com/graze/data-structure

Data collections and containers

  Sources   Download

MIT

The Requires

 

The Development Requires

container filter collection array structure data map reduce parameters

10/09 2013

0.1.1

0.1.1.0 https://github.com/graze/DataStructure

Common data structures

  Sources   Download

The Development Requires

container filter collection array structure data map reduce parameters

19/08 2013

0.1.0

0.1.0.0 https://github.com/graze/DataStructure

Common data structures

  Sources   Download

The Development Requires

container filter collection array structure data map reduce parameters