BackedEnum 接口

(PHP 8 >= 8.1.0)

介绍

The BackedEnum 接口由引擎自动应用于支持枚举。它不能由用户定义的类实现。枚举不能覆盖其方法,因为引擎提供了默认实现。它仅用于类型检查。

接口概要

interface BackedEnum extends UnitEnum {
/* 方法 */
public static from(int|string $value): static
public static tryFrom(int|string $value): ?static
/* 继承的方法 */
public static UnitEnum::cases(): array
}

目录

添加备注

用户贡献的备注 1 备注

11
whatuwant
2 年前
从 PHP 8.1 开始,虽然 `UnitEnum` 和 `BackedEnum` 不能由用户定义的类实现,但它们似乎可以被用户定义的接口扩展,最终由枚举实现。

<?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';
}
}

?>
To Top