Pregunta

¿Hay alguna forma de insinuar a WebIDE que una variable tiene algún tipo? Tengo que iterar una matriz de objetos, y no hay autocompletado 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 solo funciona con el tipo de retorno de la función.

¿Fue útil?

Solución

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

/** @var ClassName $object */

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

Otros consejos

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

/** @var ClassName $object */

Sin embargo, desde 2.1 también admite Netbeans / Eclipse / Zend @var anotaciones :

/* @var $object ClassName */

Tenga en cuenta que el comentario comienza con / * en lugar de / ** (por lo tanto, no aparecerá si genera 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 arbitraria (técnicamente, los bloques phpdoc están restringidos a ciertos elementos).

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top