W PHP nie raz zachodzi potrzeba przechowywania w obiekcie tablicy obiektów określonego typu, np. w kolekcjach, managerach strategii, itp. Jeśli lista obiektów jest przekazywana w konstruktorze to warto sprawdzić czy są właściwego typu. Przykładowy konstruktor może wyglądać tak:
/** * @param Item[] $items * @throws InvalidArgumentException */ public function __construct(array $items) { foreach ($items as $item) { if (!$item instanceof Item) { throw new InvalidArgumentException('Collection accepts only instances of Item'); } } $this->items = $items; }
Ten sam efekt można osiągnąć prościej dzięki zastosowaniu operatora … (trzy kropki):
public function __construct(Item ...$items) { $this->items = $items; }