update page now

The BackedEnum interface

(PHP 8 >= 8.1.0)

Introduction

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.

Interface synopsis

interface BackedEnum extends UnitEnum {
/* Methods */
public static from (int |string $value): static
public static tryFrom (int |string $value): ? static
/* Inherited methods */
public static UnitEnum::cases (): array
}

Table of Contents

Found A Problem?

Learn How To Improve This PageSubmit a Pull RequestReport a Bug
+add a note

User Contributed Notes 1 note

up
17
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.
<?php
interface 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';
 }
}
?>
+add a note

AltStyle によって変換されたページ (->オリジナル) /