PHPStorm - 使用数组进行类型提示

PHPStorm - type hinting with arrays

您可以像这样键入提示数组:

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

但是是否可以将数组本身 数组的对象以不同的方式键入提示?类似于:

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

以便数组本身显示来自 Class 的方法,并且数组的每个对象都显示来自 SomeOtherClass 的方法?

是的。例如,您可以指定 $variableCollectionSomeOtherClass:

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

这将为您提供 $variableCollection 的代码补全,以及当您遍历 $variable 中的项目时 SomeOtherClass 中的方法的代码补全。这当然假设您可以迭代 $variable.