Как мне использовать подсказки типа глобального пространства имен внутри класса пространств имен в PHP 5.3+? - PullRequest
3 голосов
/ 11 апреля 2011
namespace MyClass\Util;

class Sample {

  public function each(Object $f) {

  }
}

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

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

Производит:

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

1 Ответ

8 голосов
/ 11 апреля 2011

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

namespace MyClass\Util;

class Sample {

  public function each(\Object $f) {

  }
}


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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...