Вопрос

Есть ли способ намекнуть WebIDE, что переменная имеет некоторый тип? Я должен перебрать массив объектов, и автозаполнение недоступно. Это помогает в ZendStudio:

/* @var ClassName $object */

Я знаю, что в JetBrains есть функция для объявления массива объектов:

/**
 * @return ClassName[]
 */

Но это работает только с возвращаемым типом функции.

Это было полезно?

Решение

/ * @var ClassName $ object * / - недопустимый комментарий PHPDOC и не анализируется в текущей версии Web IDE. Используйте двойные звездочки, чтобы заставить это работать:

/** @var ClassName $object */

Кроме того, вы можете аннотировать $ array в foreach ($ array as $ var) с помощью / ** @var ClassName [] $ array * / < Типы / code> и $ var будут выведены автоматически.

Другие советы

Как уже указывалось, PhpStorm будет использовать обычные блоки phpdoc:

/** @var ClassName $object */

Однако, поскольку 2.1 , это также поддерживает Netbeans / Eclipse / Zend @var аннотации :

/* @var $object ClassName */

Обратите внимание, что комментарий начинается с / * , а не с / ** (поэтому он не будет отображаться, если вы создадите фактическую документацию с помощью phpdoc). Кроме того, аргументы меняются местами, хотя PhpStorm принимает любой заказ:

/* @var ClassName $object */

И последнее, но не менее важное: они могут предшествовать практически любой произвольной строке кода (технически блоки phpdoc ограничены определенными элементами).

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top