假设我有这样的功能:
function theFunction() {
$arr = array();
for ($i=0;$i<10;$i++) {
$arr[] = new theObject($i);
}
return $arr;
}
我需要记录函数的返回类型。我当然可以只使用array
,但这并不能提供可以提供的所有信息,也不能告诉开发人员该功能的真实性质。
如何在 PHPDoc 中记录类型“[type] 的数组”?
假设我有这样的功能:
function theFunction() {
$arr = array();
for ($i=0;$i<10;$i++) {
$arr[] = new theObject($i);
}
return $arr;
}
我需要记录函数的返回类型。我当然可以只使用array
,但这并不能提供可以提供的所有信息,也不能告诉开发人员该功能的真实性质。
如何在 PHPDoc 中记录类型“[type] 的数组”?
Type表示的值可以是一个数组。必须按照以下选项之一的格式定义类型:
unspecified,没有给出表示数组内容的定义。例子:
@return array
指定包含单个类型,类型定义通知读者每个数组元素的类型。然后,只期望一个 Type 作为给定数组的元素。
例子:
@return int[]
请注意,混合也是一种单一类型,使用此关键字可以指示每个数组元素包含任何可能的类型。
指定包含多个类型,类型定义通知读者每个数组元素的类型。每个元素可以是任何给定类型。例子:
@return (int|string)[]
请注意
,许多 IDE 可能还不支持这种表示法。
在 PHPDoc 中,您可以对类型提示数组成员执行以下操作:
@var array<\My\Folder\ClassName>
您还可以显式声明关联数组的键,如下所示:
@var array<string, \My\Folder\ClassName>
根据此处发布的答案,您甚至可以显式声明密钥,以防您想这样做:
/**
* @return array[
* 'controller' => string,
* 'action' => string
* ]
*/
如果我没记错你提供了返回类型和描述,你能不把它放在描述中吗?
/**
* blah
* @return array array of types
*/