想知道是否有人在使用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