andrewcarteruk/typed-arrays

v0.2 2016-01-22 07:56 UTC

This package is auto-updated.

Last update: 2020-09-19 05:12:13 UTC


README

Build Status Code Coverage Scrutinizer Code Quality Latest Stable Version Total Downloads License

Typed arrays in PHP.

By AndrewCarterUK (Twitter)

Install

Install using Composer.

composer require andrewcarteruk/typed-arrays ^0.2

Warning

These are objects that act like arrays, they are not native PHP arrays and will not pass an is_array() test.

As they are objects, unlike PHP arrays, they are always passed by reference.

Example Usage

use TypedArray\StringArray;

$stringArray = new StringArray(['Hello, World!', 'foo' => 'bar']);
// Or, $stringArray = new StringArray();

try {
    $stringArray[] = 1;
} catch (\InvalidArgumentException $exception) {
    echo $exception->getMessage() . PHP_EOL;
}
use App\Farm\Chicken;
use TypedArray\InstanceArray;

$chickenArray = new InstanceArray(Chicken::class, [new Chicken('Bob')]);

$chickenArray[] = new Chicken('Tony');
$chickenArray['foo'] = new Chicken('Alice');

try {
    $chickenArray[] = 1;
} catch (\InvalidArgumentException $exception) {
    echo $exception->getMessage() . PHP_EOL;
}

Available Types

ArrayArray, BoolArray, CallableArray, FloatArray, InstanceArray($classPath), IntArray, NumericArray, ObjectArray, ResourceArray, ScalarArray, StringArray.