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

2022-08-30 22:21:33

我有:

$myarr['DB'] = new DB();
$myarr['config'] = new config();

我可以以某种方式制作PHPStorm来知道thouse键中到底有什么吗?现在,我只看到提示 fo 变量和类属性,但看不到数组键。


答案 1

迟到的答案,但事情已经改变。

根据2021.2 changelist,现在可以用一行注释定义简单数组的形状:

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

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

PhpStorm为这种带注释的数组提供代码完成,减少了您在例行键入上花费的时间并保护您免受错误的影响。

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

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


答案 2

https://plugins.jetbrains.com/plugin/9927-deep-assoc-completion

Type hints from associative array like a champ

来自插件的github存储库的图像。我使用插件,可以确认它按描述执行。


推荐