BackedEnum 接口
(PHP 8 >= 8.1.0)
简介
引擎会自动应用 BackedEnum 接口到回退枚举。 用户自定义类不能实现该接口。 由于引擎已提供枚举的默认实现,因此不能重载它的接口。 主要将它用于类型检测。
接口摘要
目录
- BackedEnum::from — 映射标量为 enum 实例
- BackedEnum::tryFrom — 映射标量为 enum 实例或 null

User Contributed Notes 1 note
whatuwant ¶
4 months 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';
}
}
?>