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