PHP 8.2.32 Released!

BackedEnum 接口

(PHP 8 >= 8.1.0)

简介

引擎会自动应用 BackedEnum 接口到回退枚举。 用户自定义类不能实现该接口。 由于引擎已提供枚举的默认实现,因此不能重载它的接口。 主要将它用于类型检测。

接口摘要

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

目录

发现了问题?

了解如何改进此页面提交拉取请求报告一个错误
+添加备注

用户贡献的备注 1 note

up
17
whatuwant
4 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';
 }
}
?>
+添加备注

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