PHPStorm - 数组类型提示

3
您可以像这样对数组进行类型提示:
/** @var Class[] $variable */
$variable = /*someArrayWithObjects*/;

但是,是否可能将数组本身和数组中的对象进行不同的类型提示?类似以下方式:

/** @var Class, SomeOtherClass[] $variable */
$variable = /*someArrayWithObjects*/;

那么数组本身显示来自 Class 的方法,而数组中的每个对象都显示来自 SomeOtherClass 的方法?

1个回答

4

可以。您可以指定$variable是一个Collection或者是一个SomeOtherClass的数组,例如:

/** @var Collection|SomeOtherClass[] $variable */
$variable = /*someArrayWithObjects*/;

这将为你提供在$variable上的Collection代码完成,也为$variable中的项目迭代时SomeOtherClass中的方法提供代码完成。当然,这前提是你能够对$variable进行迭代。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接