И чистые, и типизированные перечисления реализуют внутренний интерфейс с именем UnitEnum. Интерфейс UnitEnum
включает статический метод cases()
. Метод cases()
возвращает упакованный массив всех определённых в перечислении вариантов в порядке объявления.
<?php
Suit::cases();
// Produces: [Suit::Hearts, Suit::Diamonds, Suit::Clubs, Suit::Spades]
?>
Ручное определение метода cases()
в перечислении приведёт к фатальной ошибке.