/TypedArrays

Typed arrays in PHP

Primary LanguagePHPMIT LicenseMIT

Typed Arrays

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.