我正在创建一个扩展
SurveyAnswer
的界面 BackedEnum
。我正在扩展 BackedEnum 以确保创建的枚举是 backed
。
interface SurveyAnswerInterface extends BackedEnum
{
public static function getQuestion()
}
然后我创建实现此接口的枚举
enum SituationAnswer: string implements SurveyAnswerInterface
{
case NEW = 'new';
case OLD = 'old';
public static function getQuestion()
{
return 'What is your situation?';
}
}
这段代码运行得非常好。 但
PHP Phan
抱怨SurveyAnswerInterface:10 PhanEnumCannotImplement Classlike SurveyAnswerInterface cannot implement \BackedEnum in php 8.1+
BackedEnum
接口由Php引擎自动应用,不适合用户实现。这也适用于所有其他 Enum
接口,例如 IntBackedEnum
和 UnitEnum
。
看