我在PHP中的字符串中保存了一个类名。 是否可以使用字符串解析类名?
如果假设我有一个名为“Myclass'”的课程,我需要这样的内容:
'Myclass'::class
答案 0 :(得分:1)
我并不完全清楚::class
对字符串有什么用处。一个简单的事实是,如果这样做,它只会输出你已经拥有的相同字符串。即在您的示例中,'MyClass'::class
将输出字符串MyClass
。
也许您正在尝试使用只包含类名的字符串,并且您正在尝试解析命名空间?这不行。但是您可以使用__NAMESPACE__
保留字来获取当前命名空间:
namespace foo\bar;
echo __NAMESPACE__; //will output 'foo\bar'
您可以将它与classname字符串结合使用,为当前命名空间构建一个完全限定的类名。
如果要从不同的命名空间获取类名,那么您必须事先知道命名空间;没有命名空间,PHP根本无法找到该类。