A \RQuadling\TypedArray\TypedArray
allows you to have an array of non-scalar types enforced to a single type.
<?php
class ItemCollection extends \RQuadling\TypedArray\TypedArray
{
const ARRAY_TYPE = 'Item';
}
Now you can call $myItems = new ItemCollection;
. You can supply an array of Item
, or another collection of Item
s.
If you want to copy a collection, you will need to clone
it. When you do, all items are cloned.
If you want to add functionality to your collections, then create an abstract subclass with that functionality.
If you want to see a working example of that, take a look at example/example.php
.