双冒号(::)是范围解析运算符。它用于访问受保护的方法和属性(以及常量)。
然而,我已经看到使用::class来返回类的字符串表示形式。就像这样:
我已经广泛搜索了与此行为相关的文档。
上面的代码是否也使用作用域解析运算符,还是完全不同的东西?如果是,那它的名称是什么?
如果它使用SRO,这是否意味着PHP在幕后放置了一个静态属性"class"?(尽管我无法覆盖此静态属性)
然而,我已经看到使用::class来返回类的字符串表示形式。就像这样:
namespace App;
class MyClass
{
}
var_dump(MyClass::class); # string(11) "App\MyClass"
我已经广泛搜索了与此行为相关的文档。
上面的代码是否也使用作用域解析运算符,还是完全不同的东西?如果是,那它的名称是什么?
如果它使用SRO,这是否意味着PHP在幕后放置了一个静态属性"class"?(尽管我无法覆盖此静态属性)