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

时间:2011-04-11 17:48:29

标签: php namespaces

namespace MyClass\Util;

class Sample {

  public function each(Object $f) {

  }
}

来自调用文件(非命名空间)

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

产地:

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

1 个答案:

答案 0 :(得分:8)

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

namespace MyClass\Util;

class Sample {

  public function each(\Object $f) {

  }
}


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

  

使用\添加名称前缀将指定   该名称是必需的   即使在全球空间的背景下   命名空间。