给定:
enum TestEnum: string
{
case CASE_1 = "first case";
case CASE_2 = "Second case";
}
这应该返回true
:
TestEnum::class instanceof \BackedEnum
但是我得到了false
我尝试了这篇文章中的以下内容(它无法在Laravel Tinker REPL中运行,而是作为脚本运行?):
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';
}
}
TestEnum::class instanceof \BackedEnum //false
TestEnum::class instanceof \TestEnumInterface //false
我错过了什么?运行PHP v8.1.13
谢谢
1条答案
按热度按时间cbjzeqam1#
TestEnum::class不是对象的示例,它是字符串的“示例”。TestEnum::CASE_1是TestEnum或TestEnumInterface的示例