是否可以使用保存在PHP中的字符串中的名称来检索类名?

时间:2015-12-02 11:01:54

标签: php php-5.5 php-5.6

我在PHP中的字符串中保存了一个类名。 是否可以使用字符串解析类名?

如果假设我有一个名为“Myclass'”的课程,我需要这样的内容:

'Myclass'::class

1 个答案:

答案 0 :(得分:1)

我并不完全清楚::class对字符串有什么用处。一个简单的事实是,如果这样做,它只会输出你已经拥有的相同字符串。即在您的示例中,'MyClass'::class将输出字符串MyClass

也许您正在尝试使用只包含类名的字符串,并且您正在尝试解析命名空间?这不行。但是您可以使用__NAMESPACE__保留字来获取当前命名空间:

namespace foo\bar;
echo __NAMESPACE__;  //will output 'foo\bar'

您可以将它与classname字符串结合使用,为当前命名空间构建一个完全限定的类名。

如果要从不同的命名空间获取类名,那么您必须事先知道命名空间;没有命名空间,PHP根本无法找到该类。