DataCollection

A generic collection class to contain array-like data, specifically designed to work with HTTP data (request params, session data, etc)

Inspired by @fabpot's Symfony 2's HttpFoundation

link https://github.com/symfony/HttpFoundation/blob/master/ParameterBag.php
uses \IteratorAggregate
uses \ArrayAccess
uses \Countable
package Klein\DataCollection
used_by \Klein\DataCollection\HeaderDataCollection
used_by \Klein\DataCollection\ResponseCookieDataCollection
used_by \Klein\DataCollection\RouteCollection
used_by \Klein\DataCollection\ServerDataCollection

 Methods

Constructor

__construct(array $attributes) 
access public

Parameters

$attributes

array

The data attributes of this collection

Magic "__get" method

__get(string $key) : mixed

Allows the ability to arbitrarily request an attribute from this instance while treating it as an instance property

see \Klein\DataCollection\get()
access public

Parameters

$key

string

The name of the parameter to return

Returns

mixed

Magic "__isset" method

__isset(string $key) : boolean

Allows the ability to arbitrarily check the existence of an attribute from this instance while treating it as an instance property

see \Klein\DataCollection\exists()
access public

Parameters

$key

string

The name of the parameter

Returns

boolean

Magic "__set" method

__set(string $key, mixed $value) : void

Allows the ability to arbitrarily set an attribute from this instance while treating it as an instance property

see \Klein\DataCollection\set()
access public

Parameters

$key

string

The name of the parameter to set

$value

mixed

The value of the parameter to set

Magic "__unset" method

__unset(string $key) : void

Allows the ability to arbitrarily remove an attribute from this instance while treating it as an instance property

see \Klein\DataCollection\remove()
access public

Parameters

$key

string

The name of the parameter

Returns all of the attributes in the collection

all(array $mask, boolean $fill_with_nulls) : array

If an optional mask array is passed, this only returns the keys that match the mask

access public

Parameters

$mask

array

The parameter mask array

$fill_with_nulls

boolean

Whether or not to fill the returned array with null values to match the given mask

Returns

array

Count the attributes via a simple "count" call

count() : int

Allows the use of the "count" function (or any internal counters) to simply count the number of attributes in the collection.

see \Countable::count()
access public

Returns

int

See if an attribute exists in the collection

exists(string $key) : boolean
access public

Parameters

$key

string

The name of the parameter

Returns

boolean

Return an attribute of the collection

get(string $key, mixed $default_val) : mixed

Return a default value if the key doesn't exist

access public

Parameters

$key

string

The name of the parameter to return

$default_val

mixed

The default value of the parameter if it contains no value

Returns

mixed

Get the aggregate iterator

getIterator() : \ArrayIterator

IteratorAggregate interface required method

see \IteratorAggregate::getIterator()
access public

Returns

Merge attributes with the collection's attributes

merge(array $attributes, boolean $hard) : \Klein\DataCollection\DataCollection

Optionally allows a second boolean parameter to merge the attributes into the collection in a "hard" manner, using the "array_replace" method instead of the usual "array_merge" method

access public

Parameters

$attributes

array

The attributes to merge into the collection

$hard

boolean

Whether or not to make the merge "hard"

Returns

Check existence an attribute via array syntax

offsetExists(string $key) : boolean

Allows the access of attributes of this instance while treating it like an array

see \ArrayAccess::offsetExists()
see \Klein\DataCollection\exists()
access public

Parameters

$key

string

The name of the parameter

Returns

boolean

Get an attribute via array syntax

offsetGet(string $key) : mixed

Allows the access of attributes of this instance while treating it like an array

see \ArrayAccess::offsetGet()
see \Klein\DataCollection\get()
access public

Parameters

$key

string

The name of the parameter to return

Returns

mixed

Set an attribute via array syntax

offsetSet(string $key, mixed $value) : void

Allows the access of attributes of this instance while treating it like an array

see \ArrayAccess::offsetSet()
see \Klein\DataCollection\set()
access public

Parameters

$key

string

The name of the parameter to set

$value

mixed

The value of the parameter to set

Remove an attribute via array syntax

offsetUnset(string $key) : void

Allows the access of attributes of this instance while treating it like an array

see \ArrayAccess::offsetUnset()
see \Klein\DataCollection\remove()
access public

Parameters

$key

string

The name of the parameter

Remove an attribute from the collection

remove(string $key) : void
access public

Parameters

$key

string

The name of the parameter

Replace the collection's attributes

replace(array $attributes) : \Klein\DataCollection\DataCollection
access public

Parameters

$attributes

array

The attributes to replace the collection's with

Returns

Set an attribute of the collection

set(string $key, mixed $value) : \Klein\DataCollection\DataCollection
access public

Parameters

$key

string

The name of the parameter to set

$value

mixed

The value of the parameter to set

Returns

 Properties

 

$attributes : array
access protected