cloud_download Stáhnout
Verze: 0.6

Kolekce

Kolekce jako datovou strukturu můžete znát z různých jazyků, ale v PHP standardně obsažená není. Jedná se de facto o pole na steroidech, které mají výhodu například v tom, že mohou mít omezený typ hodnot.

Použití

Kolekce bez specifického typu mohou obsahovat jakoukoli položku:

$collection = new Gephart\Collections\Collection();

$collection->add("Something"); // Index - 0
$collection->add(123); // Index - 1

$item = $collection->get(1); // 123

$collection->remove(1); // Delete item with index 1

$items = $collection->all(); // [0 => "Something"];

Kolekce se specifickým typem lze použít pouze pro ten daný typ, jinak dojde k vyhození vyjímky:

class SpecificEntity { public $text = ""; }

$item1 = new SpecificEntity();
$item1->text = "first";

$item2 = new SpecificEntity();
$item2->text = "second";

$collection = new Gephart\Collections\Collection(SpecificEntity::class);

$collection->add($item1);
$collection->add($item2);
// Or use method collect(): $collection->collect([$item1, $item2]);

$item = $collection->get(1);
echo $item->text; // "second"