编程语言
首页 > 编程语言> > PHP OOP:使用字符串作为别名的标识符

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