2

假设我有一个类Book,它有一个名为$chapters. 在我正在使用的实现中,此属性由一个名为 的通用辅助类表示,该类Collection又包含一个Chapter类数组。

例子:


class Book {
  /** @var Collection */
  public $chapters;
}

class Collection {

  private $items;

  public function getItems(): array {
    return $this->items;
  }
}

class Chapter {}

$chapters是否可以对属性进行注释,Book以便我的 IDE 知道它是一个Collection对象,但是对该集合的方法的调用将返回一个实例getItems()数组?Chapter

我可以在不创建子类Collection和注释的情况下做到这一点吗?

编辑:我认为我的目标并不明确。我正在寻找一个在类之外的Book类的类型提示,并就它的属性提供指导$items——像这样(我确定这是无效的):

class Book {
  /**
   * @var Collection { 
   *   @property Chapter[] $items
   * }
   */
  public $chapters;
}
4

0 回答 0