2016-05-24 176 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