CascadiaPHP 2024

L'interface UnitEnum

(PHP 8 >= 8.1.0)

Introduction

L'interface UnitEnum est automatiquement appliquée à toutes les énumérations par le moteur. Elle ne peut pas être implémentée par des classes définies par l'utilisateur. Les énumérations ne peuvent pas surcharger ses méthodes, car les implémentations par défaut sont fournies par le moteur. Elle n'est disponible que pour les vérifications de type.

Sommaire de l'Interface

interface UnitEnum {
/* Méthodes */
public static cases(): array
}

Sommaire

add a note

User Contributed Notes 2 notes

up
0
KhaledChebat at hotmail dot com
7 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