JetBrains WebIDE: подсказка типа переменной PHP?
-
08-07-2019 - |
Вопрос
Есть ли способ намекнуть 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 ограничены определенными элементами).