想知道是否有人在使用PHP 5.3的名稱空間類的新功能時遇到此問題。帶有Dynamic類名稱的PHP名稱空間
我正在生成一個動態類調用,利用一個單獨的類來定義我的應用程序中的用戶類型。基本上,類定義器接受類型的整數表示並解釋它們,返回一個包含類名的字符串,作爲該用戶的模型。
我有一個用戶類型的對象模型,該名稱在全局範圍中定義了該名稱,但在編輯器名稱空間中,我有另一個具有相同名稱的用戶編輯器的對象。出於某種原因,PHP不允許我按如下方式進行名稱空間動態調用。
$definition = Definer::defineProfile($_SESSION['user']->UserType);
new \Editor\$definition();
相同的語法適用於在全局名稱空間中調用全局基本對象模型,並且我在整個應用程序中可靠地使用它。
$definition = Definer::defineProfile($_SESSION['user']->UserType);
new $definition();
這將正確調用動態所需的類。
是否有兩個行爲不同的原因,或者動態調用命名空間沒有在這個莊園實現,因爲這是一個新的功能?是否有另一種方法可以從另一個名稱空間動態調用一個類,而不必將其名稱顯示在代碼中,而是從一個變量中進行調用?
我會使用eval()作爲 – yoda 2010-12-22 20:25:13