CascadiaPHP 2024

Интерфейс UnitEnum

(PHP 8 >= 8.1.0)

Введение

Интерфейс UnitEnum автоматически применяется движком ко всем перечислениям. Он не может быть реализован пользовательскими классами. Перечисления не могут переопределять его методы, поскольку реализации по умолчанию предоставляются движком. Доступен только для проверки типа.

Обзор интерфейса

interface UnitEnum {
/* Методы */
public static cases(): array
}

Содержание

  • UnitEnum::cases — Возвращает список вариантов перечисления
add a note

User Contributed Notes 2 notes

up
0
KhaledChebat at hotmail dot com
5 days ago
Example provided has a small typo.

It states 'case()' where the correct method is 'cases()'.
up
-4
leonardosahon at gmail dot com (Osahenrumwen A)
10 months ago
When looping through cases, you will need to access the values as an object and not an array, like this:

<?php

enum BlogStatus : string {
case
Published = "is_published";
case
Draft = "is_draft";
case
Scheduled = "is_scheduled";
}

foreach (
BlogStatus::case() as $datum){
echo
$datum->name . '<br />'; // Published || Draft || Scheduled
echo $datum->value . '<br />'; // is_publised || is_draft || is_scheduled
}

?>
To Top