因为可以将字符串从一个名称空间传递到另一个名称空间。这就使名称解析充其量是模棱两可的,并且容易引入奇怪的问题。
namespace Foo;$class = 'Baz';namespace Bar;new $class; // what class will be instantiated?
某个名称空间中的文字不存在此问题:
namespace Foo;new Baz; // can't be moved, it's unequivocally FooBaz
因此,所有“字符串类名”始终都是绝对的,需要写为FQN:
$class = 'FooBaz';
(注意:无领导
。)您可以将其用作速记,相当于类中的自引用
self:
$class = __NAMESPACE__ . 'Baz';



