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

2022-08-30 15:15:45

当我阅读用Laravel框架编写的代码时,我看到了很多.修饰符的含义是什么?这是Laravel或PHP的功能吗?我搜索过,但无法找到文档。ClassName::class::class


答案 1

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

例如

namespace MyProject;
class Alpha{ }

namespace MyOtherProject;
class Beta{ }

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

答案 2

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

namespace NS {
    class ClassName {
    }
    echo ClassName::class;
}

上面的示例将输出:

NS\ClassName

推荐