因此,在 PHPDoc 中,可以@var在成员变量声明上方指定以提示其类型。然后是 IDE,例如。PHPEd 将知道它正在使用什么类型的对象,并将能够为该变量提供代码洞察力。
@var
<?php class Test { /** @var SomeObj */ private $someObjInstance; } ?>
这很有效,直到我需要对一组对象做同样的事情,以便以后在遍历这些对象时能够获得正确的提示。
那么,有没有办法声明一个PHPDoc标签来指定成员变量是一个SomeObjs的数组呢?@var例如,数组是不够的,而且@var array(SomeObj)似乎无效。
SomeObj
@var array(SomeObj)
采用:
/* @var $objs Test[] */ foreach ($objs as $obj) { // Typehinting will occur after typing $obj-> }
键入提示内联变量时,以及
class A { /** @var Test[] */ private $items; }
对于类属性。
09 年 PHPDoc(以及 Zend Studio 和 Netbeans 等 IDE)没有该选项时的先前答案:
你能做的最好的就是说,
foreach ($Objs as $Obj) { /* @var $Obj Test */ // You should be able to get hinting after the preceding line if you type $Obj-> }
我在 Zend Studio 中经常这样做。不知道其他编辑器,但它应该工作。