Verze: 0.6
- 0.6 (master)
- 0.5
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"