有没有办法提示WebIDE变量有某种类型? 我必须迭代一个对象数组,并且没有可用的自动完成。 这有助于ZendStudio:
/* @var ClassName $object */
我知道JetBrains中有一个声明一个对象数组的功能:
/**
* @return ClassName[]
*/
但这仅适用于函数的返回类型。
答案 0 :(得分:118)
/* @var ClassName $object */
是一个无效的PHPDOC注释,不会在当前版本的Web IDE中解析。使用双星号使其工作:
/** @var ClassName $object */
此外,您可以使用$array
在foreach($array as $var)
中注释/** @var ClassName[] $array */
,并自动推断出$var
类型。
答案 1 :(得分:25)
正如已经指出的那样,PhpStorm将使用常规的phpdoc块:
/** @var ClassName $object */
但是,由于2.1它还支持Netbeans / Eclipse / Zend @var annotations:
/* @var $object ClassName */
请注意,评论以/*
而不是/**
开头(因此,如果您使用phpdoc生成实际文档,则无法显示)。此外,虽然PhpStorm接受任何订单,但交换了参数:
/* @var ClassName $object */
最后但并非最不重要的是,它们几乎可以在任意代码行之前(从技术上讲,phpdoc块仅限于某些项目)。