4

我试图利用 NetBeans 处理对象类型的智能方式,所以我在注释中暗示每个对象的类型。

问题是,我想提示一个关联数组(字符串 => ObjectClass)。

我已经尝试了以下所有方法,但没有任何效果:

/** 
 * @var [string => ObjectClass]
 */
private $myAssociativeArray;

/** 
 * @var string|ObjectClass[]
 */
private $myAssociativeArray;

我怎样才能让 NetBeans 知道我在暗示将字符串映射到 ObjectClass ?

提前致谢。

4

2 回答 2

1

我能够实现这一点的最好方法是,一旦您开始遍历关联数组,您就可以在该点键入提示变量。这仅在数组包含所有相同的类类型时才有效。

<?php
    foreach($myAssociativeArray as $item){
       /* @var $item ObjectClass */
       Some code here...
    }

这应该正确地将 ObjectClass 类型提示传递给 $item。同样,如果您的数组包含多种类类型,则此解决方案将不起作用。

于 2014-09-03T17:17:35.447 回答
0

根据 PHP Fig 标准,它的完成方式如下,虽然我还没有找到一个可以在 2020 年输入提示的 IDE。:-(

/** 
 * @var array<string,ObjectClass>
 */
private $myAssociativeArray;

https://github.com/php-fig/fig-standards/blob/211063eed7f4d9b4514b728d7b1810d9b3379dd1/proposed/phpdoc.md#collections

PHPStorm 有一个未解决的问题: https ://youtrack.jetbrains.com/issue/WI-43843

于 2020-03-06T11:44:02.083 回答