PHPStorm + PHPdoc - 我可以输入提示单个数组元素吗?

fre*_*nzy 9 php phpdoc phpstorm

我有:

$myarr['DB'] = new DB();
$myarr['config'] = new config();
Run Code Online (Sandbox Code Playgroud)

我可以以某种方式让PHPStorm知道究竟是什么内部的钥匙?现在我只看到变量和类属性,但不是数组键.

SWi*_*ilk 21

迟到的答复,但事情已经发生了变化。

根据2021.2 变更列表,现在可以使用一行注释定义简单数组的形状:

/**
 * @return array{id: int, name: string, object: \Of\Some\Class}
 */
function getArray(): array {...}
Run Code Online (Sandbox Code Playgroud)

如果您的代码中有类似对象的数组,您现在可以使用以下 PHPDoc 注释定义它们的结构:array{key: type, key: type, ...}。

PhpStorm 为此类带注释的数组提供代码补全,减少您花在日常打字上的时间并防止您出错。

支持仅限于单行数组形状定义。对于较大的结构,通常最好使用真实的对象和类。

不幸的是,我还没有找到一种方法来定义多维数组的结构,并且注释此类“形状”数组的列表会很棒......