JetBrains WebIDE: PHP tipo de variável insinuando?
-
08-07-2019 - |
Pergunta
Existe uma maneira de sugerir WebIDE que uma variável tem algum tipo? Eu tenho que iterar um array de objetos, e não há auto-completar disponível. Isso ajuda na ZendStudio:
/* @var ClassName $object */
Eu sei que há uma característica em JetBrains para declarar uma matriz de objetos:
/**
* @return ClassName[]
*/
Mas isso só funciona com tipo de retorno da função.
Solução
/* @var ClassName $object */
é um comentário phpdoc não válido e não é analisado na versão atual do Web IDE. Use asteriscos duplos para torná-lo trabalho:
/** @var ClassName $object */
Além disso, você pode anotar $array
em foreach($array as $var)
com /** @var ClassName[] $array */
e tipo $var
será deduzido automaticamente.
Outras dicas
Como já salientado, PhpStorm irá usar blocos PHPDoc regulares:
/** @var ClassName $object */
No entanto, desde 2.1 também suportes Netbeans / Eclipse / Zend @var anotações :
/* @var $object ClassName */
Por favor, note o comentário começa com /*
em vez de /**
(assim ele não vai aparecer se você gerar a documentação real com phpdoc). Além disso, os argumentos são trocados, embora PhpStorm aceita qualquer ordem:
/* @var ClassName $object */
Por último, mas não menos importante, eles podem preceder quase qualquer linha arbitrária de código (tecnicamente, blocos PHPDoc estão restritos a determinados artigos).