如何在PHP 5.3 +中使用名称空间类内的全局名称空间类型提示?

问题描述:

namespace MyClass\Util; 

class Sample { 

    public function each(Object $f) { 

    } 
} 

从调用的文件(没有命名空间)如何在PHP 5.3 +中使用名称空间类内的全局名称空间类型提示?

$sample = new Sample(); 
$sample->each(new stdClass()); 

产地:

开捕致命错误:传递给MyClass的\的Util \ Sample.php参数1必须是MyClass \实例Util \ Object,Object的实例给出

您可以使用\指向全局命名空间:

namespace MyClass\Util; 

class Sample { 

    public function each(\Object $f) { 

    } 
} 


作为参考,你可以阅读Global space(引用)

Prefixing a name with \ will specify that the name is required from the global space even in the context of the namespace.

+0

它的作品!我一定错过了手册中的那一部分。 – james 2011-04-11 18:02:43