L'interface BackedEnum

(PHP 8 >= 8.1.0)

Introduction

L'interface BackedEnum est automatiquement appliquée aux énumérations avec valeur de base 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 BackedEnum extends UnitEnum {
/* Méthodes */
public static from(int|string $value): static
public static tryFrom(int|string $value): ?static
/* Méthodes héritées */
public static UnitEnum::cases(): array
}

Sommaire

add a note

User Contributed Notes 1 note

up
14
whatuwant
3 years ago
As of PHP 8.1, while `UnitEnum` & `BackedEnum` cannot be implemented by user-defined classes, it seems they can be extended by user-defined interfaces and eventually be implemented by enums.<?phpinterface TestEnumInterface extends \BackedEnum{    public function foo(): string;}enum TestEnum: string implements TestEnumInterface{    case CASE_1 = 'case 1';    case CASE_2 = 'case 2';    public function foo(): string    {        return 'bar';    }}?>
To Top