Как мне использовать подсказку типа глобального пространства имен внутри класса с пространством имен в PHP 5.3 ?

#php #namespaces

#php #пространства имен

Вопрос:

 namespace MyClassUtil;

class Sample {

  public function each(Object $f) {

  }
}
  

Из вызывающего файла (не с пространством имен)

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

Выдает:

Исправляемая неустранимая ошибка: аргумент 1 передан в MyClassUtilSample.php должен быть экземпляр MyClass Util Object, экземпляр данного объекта

Ответ №1:

Вы можете использовать для указания на глобальное пространство имен :

 namespace MyClassUtil;

class Sample {

  public function each(Object $f) {

  }
}
  

В качестве ссылки вы можете прочитать Глобальное пространство (в кавычках) :

Добавление имени с префиксом укажет, что имя требуется из глобального пространства имен даже в контексте пространства имен.