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.