ClassName::class在PHP中是什么意思?

ClassName::class在PHP中是什么意思?,php,laravel,Php,Laravel,当我阅读在Laravel框架中编写的代码时,我看到了ClassName::class的许多用法。修饰语::class的含义是什么?这是Laravel还是PHP的一个特性?我已经搜索过了,但找不到文档 从PHP5.5开始,class关键字也用于类名解析。您可以使用ClassName::class获取包含ClassName类的完全限定名的字符串。这对于名称空间类特别有用 namespace NS { class ClassName { } echo ClassName::cl

当我阅读在Laravel框架中编写的代码时,我看到了
ClassName::class
的许多用法。修饰语
::class
的含义是什么?这是Laravel还是PHP的一个特性?我已经搜索过了,但找不到文档

从PHP5.5开始,class关键字也用于类名解析。您可以使用
ClassName::class
获取包含ClassName类的完全限定名的字符串。这对于名称空间类特别有用

namespace NS {
    class ClassName {
    }
    echo ClassName::class;
}
比如说

namespace MyProject;
class Alpha{ }

namespace MyOtherProject;
class Beta{ }

echo Alpha::class; // displays: MyProject\Alpha
echo Beta::class; // displays: MyOtherProject\Beta

它只返回带有名称空间的类名! 从PHP5.5开始,class关键字也用于类名解析。您可以使用ClassName::class获得包含ClassName类的完全限定名的字符串。这对于名称空间类特别有用

namespace NS {
    class ClassName {
    }
    echo ClassName::class;
}
上述示例将输出:

NS\ClassName
请参阅

链接将带您进入PHP文档中解释类名解析的正确页面。