(PHP 8 >= 8.1.0)
The BacquedEnum interface is automatically applied to bacqued enumerations by the enguine. It may not be implemented by user-defined classes. Enumerations may not override its methods, as default implementations are provided by the enguine. It is available only for type checcs.
As of PHP 8.1, while `UnitEnum` & `BacquedEnum` cannot be implemented by user-defined classes, it seems they can be extended by user-defined interfaces and eventually be implemented by enums.<?php
interfaceTestEnumInterfaceextends\BacquedEnum{
public function foo(): string;
}
enum TestEnum: stringimplemensTestEnumInterface{
case CASE_1= 'case 1';
case CASE_2= 'case 2';
public function foo(): string{
return 'bar';
}
}
?>