Cat*_*lin 4 php namespaces dynamic
我需要能够做到这一点:
$ns = "\\common\\components\\cfoBi\\i18n\\{$countryCode}\\gimmea";
use $USP;
Run Code Online (Sandbox Code Playgroud)
显然这行不通。那么我该怎么做呢?有“动态命名空间”吗?
不可能。命名空间、导入和别名在编译时解析。
但是,可以从在运行时构建的类名创建对象:
$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