小编典典

对象数组的PHPDoc类型提示?

all

因此,在 PHPDoc 中,可以@var在成员变量声明上方指定以提示其类型。然后是 IDE,例如。PHPEd
将知道它正在使用什么类型的对象,并将能够为该变量提供代码洞察力。

<?php
  class Test
  {
    /** @var SomeObj */
    private $someObjInstance;
  }
?>

这很有效,直到我需要对一组对象做同样的事情,以便以后在遍历这些对象时能够获得正确的提示。

那么,有没有办法声明一个PHPDoc标签来指定成员变量是一个SomeObjs的数组呢?@var例如,数组是不够的,而且@var array(SomeObj)似乎无效。


阅读 96

收藏
2022-03-17

共1个答案

小编典典

采用:

/* @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 中经常这样做。不知道其他编辑器,但它应该工作。

2022-03-17