JetBrains WebIDE:PHP变量类型提示?

2022-08-30 08:03:32

有没有办法提示WebIDE变量具有某种类型?我必须迭代一个对象数组,并且没有可用的自动完成功能。这有助于ZendStudio:

/* @var ClassName $object */

我知道 JetBrains 中有一个功能可以声明一个对象数组:

/**
 * @return ClassName[]
 */

但这仅适用于函数的返回类型。


答案 1

/* @var ClassName $object */是无效的 PHPDOC 注释,并且未在当前版本的 Web IDE 中解析。使用双星号使其工作:

/** @var ClassName $object */

此外,您可以用 注释,并且类型将自动推断。$arrayforeach($array as $var)/** @var ClassName[] $array */$var


答案 2

如前所述,PhpStorm 将使用常规的 phpdoc 块:

/** @var ClassName $object */

但是,从2.1开始,它还支持Netbeans/Eclipse/Zend@var注释

/* @var $object ClassName */

请注意,注释以而不是开头(因此,如果您使用phpdoc生成实际文档,则不会显示该注释)。此外,参数被交换,尽管PhpStorm接受任何顺序:/*/**

/* @var ClassName $object */

最后但并非最不重要的一点是,它们可以在几乎任何任意代码行之前(从技术上讲,phpdoc块仅限于某些项目)。


编辑:截至2019年,Netbeans/Eclipse/Zend@var注释似乎大多被遗弃了。NetBeans 11 不再支持它们,并且通常其他 IDE 不支持它们。我建议使用其他语法。


推荐