template snippets intellij idea created create change php phpstorm type-hinting web-ide

snippets - JetBrains WebIDE: ¿Sugerencias de tipo de variable de PHP?



snippets intellij idea (2)

¿Hay una manera de insinuar a WebIDE que una variable tiene algún tipo? Tengo que iterar una serie de objetos, y no hay una finalización automática disponible. Esto ayuda en ZendStudio:

/* @var ClassName $object */

Sé que hay una característica en JetBrains para declarar una matriz de objetos:

/** * @return ClassName[] */

Pero esto funciona solo con el tipo de retorno de la función.


Como ya se señaló, PhpStorm utilizará bloques phpdoc regulares:

/** @var ClassName $object */

Sin embargo, desde la versión 2.1 también es compatible con las anotaciones Netbeans / Eclipse / Zend @var :

/* @var $object ClassName */

Tenga en cuenta que el comentario comienza con /* lugar de /** (por lo tanto, no se mostrará si genera la documentación real con phpdoc). Además, los argumentos se intercambian, aunque PhpStorm acepta cualquier orden:

/* @var ClassName $object */

Por último, pero no menos importante, pueden preceder a casi cualquier línea de código arbitrario (técnicamente, los bloques phpdoc están restringidos a ciertos elementos).


/* @var ClassName $object */ es un comentario PHPDOC no válido y no se analiza en la versión actual del IDE web. Usa asteriscos dobles para que funcione:

/** @var ClassName $object */

Además, puede anotar $array en foreach($array as $var) con /** @var ClassName[] $array */ y el tipo de $var se deducirá automáticamente.