PHP 动态命名空间

Cat*_*lin 4 php namespaces dynamic

我需要能够做到这一点:

$ns = "\\common\\components\\cfoBi\\i18n\\{$countryCode}\\gimmea";
use $USP;
Run Code Online (Sandbox Code Playgroud)

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

Shi*_*ai7 6

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

但是,可以从在运行时构建的类名创建对象:

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

$object = new $className();
Run Code Online (Sandbox Code Playgroud)

请参阅 PHP 文档:http : //php.net/manual/en/language.oop5.basic.php#language.oop5.basic.new