PHP OOP:使用字符串作为别名的标识符
作者:互联网
我在某个命名空间中有一个类.说:
namespace space;
class MyClass(){}
我想要做的是为这个类创建一个别名而不扩展等等.我所拥有的是一个包含类名的字符串.我想做的是:
$className='MyClass';
use '\space\'.$className as 'space_'.$classname;
有可能吗?因为“use”关键字需要类标识符的文字字符串标记(期望标识符(T_STRING))和通常的方法,比如变量(例如,通过简单地调用$functionName()在变量中命名的调用函数),如所描述的,例如,here ,没有帮助.
UPD:当然,使用eval不适用于此.
解决方法:
所以看来你正在寻找class_alias
class_alias('space\MyClass', 'space_MyClass');
标签:php,oop,namespaces,aliases 来源: https://codeday.me/bug/20190831/1777626.html