PHP 5.5 作为一个新特性实现了一种通过语法检索类名的新方法::class
:
<?php
namespace Testing;
class Test{}
echo Test::class; // Testing\Test;
这很完美,好吗?但是我和其他一些朋友想知道的是,为什么这种语法在与未声明的类一起使用时也会返回类名。例如:
<?php
echo UndeclaredClass::class; // UndeclaredClass
在其他几种情况下,会引发错误,但此处不会。任何人都知道,如果可能的话,有具体的基础,为什么会发生这种情况?
它与后期静态绑定有什么关系,还是只是这个全新功能的(临时)限制/错误?