2015-12-02 17 views
3

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

如果假设我有一个叫做“MYCLASS”课,我需要的是这样的:

'Myclass'::class 
+0

您输入的所有数据看起来都完全一样吗? – vitozev

+0

我不明白,哪个输入? – naneri

+0

@naneri是否要像这样使用它'$ dynamic_name_of_the_class :: class'? –

回答

1

我并不完全清楚什么用你有::class对一个字符串。简单的事实是,如果这个工作,它会输出相同的字符串,你已经有了。即在你的例子中,'MyClass'::class会输出字符串MyClass

也许你想拥有一个只包含classname的字符串,而且你试图解析命名空间?这不起作用。但是你可以使用__NAMESPACE__保留字获取当前的命名空间:

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

您可以结合使用这一个类名字符串来构建当前命名空间的完全限定类名。

如果你想从一个不同的命名空间获得一个类名,那么你必须事先知道命名空间;没有名称空间,PHP将无法找到该类。

相关问题