2016-05-24 140 views
2

我需要能够做到这一点:PHP动态命名空间

$ns = "\\common\\components\\cfoBi\\i18n\\{$countryCode}\\gimmea"; 
use $USP; 

显然,这是行不通的。那我该怎么做?有“动态命名空间”?

+0

你不能有动态namepaces:为什么不创造一种语言工厂呢? –

回答

0

不可能。名称空间,导入和别名在编译时解析。

但是,它可以创建在运行时建立一个类名对象:

$className = "common\\components\\cfoBi\\i18n\\{$countryCode}\\gimmea"; 

$object = new $className(); 

查看PHP文档:http://php.net/manual/en/language.oop5.basic.php#language.oop5.basic.new

+0

是的,我熟悉该解决方案:从动态类名创建类。但是,对我来说最好的解决方案应该是动态命名空间。 – Catalin