【发布时间】:2014-08-19 03:49:55
【问题描述】:
PHP 5.5 已作为一项新功能实现了一种通过语法::class 检索类名的新方法:
<?php
namespace Testing;
class Test{}
echo Test::class; // Testing\Test;
这很完美,好吗?但是我和其他一些朋友想知道的是,为什么这种语法在与未声明的类一起使用时也会返回类名。例如:
<?php
echo UndeclaredClass::class; // UndeclaredClass
在其他几种情况下会引发错误,但这里不会。任何人都知道,如果可能的话,有具体的依据,为什么会发生这种情况?
它对后期静态绑定有什么影响,还是只是这个全新功能的(临时)限制/错误?
【问题讨论】:
-
有趣的问题。为什么不在 PHP 开发者邮件列表中询问(或参考此页面)?
-
如果我说我说我不知道你会相信我吗?
-
嗯,是的,因为我知道它有多复杂:bg2.php.net/contact.phpbg2.php.net/support.php 您最好快速的选择是邮件列表,因为没有官方 IRC 频道。之后请在这里分享答案。
-
这对我来说是不可重现的,
<?php echo UndeclaredClass::class;总是为我抛出一个错误。