The BackedEnum interface

(PHP 8 >= 8.1.0)

Introducción

The BackedEnum interface is automatically applied to backed enumerations by the engine. It may not be implemented by user-defined classes. Enumerations may not override its methods, as default implementations are provided by the engine. It is available only for type checks.

Sinopsis de la Interfaz

interface BackedEnum extends UnitEnum {
/* Métodos */
public static from(int|string $value): static
public static tryFrom(int|string $value): ?static
/* Métodos heredados */
public static UnitEnum::cases(): array
}

Tabla de contenidos

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