因此,在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中做了很多。不了解其他编辑器,但它应该起作用。