PHP注解数组(键,值)

4

我使用Netbeans 8.0.2。

有没有一种方法可以声明(当然带有自动补全功能)@return数组注释的数组键和值类型?

例如:

@return array[string]Class2

或者像这样:
@return Class2[string]

因此,Netbeans在以下foreach中应该没有自动完成问题:

foreach($aArray as $sString => $oClass2){ ... }

我知道以下的注释方式:

@return Class2[]

但是这样我不知道如何在字符串键上获得自动完成。

当然,对于“String”,没有自动完成,但假设我们想要添加另一个对象作为键,而不是字符串,那么我该如何告知我的IDE以使其知晓并获取正确的自动完成?

2个回答

2
据我所知,关键字无法进行类型提示,但是你可以在foreach循环中对值进行类型提示,就像这样:
/**
 * $var $value MyTypeHint
 */
foreach($array as $key => $value){}    

是的,那也是一种方法。但我无法想象数组或多维数组没有可能的注释 - 那将是相当令人沮丧的 :-/ - eXe
我所知道的唯一可能使用对象作为键的情况是在SplObjectStorage中(在数组中,您只能使用字符串或整数作为键)。这可能只是一个非常罕见的用例,不值得他们花费精力去实现。 - user1842104

1

我正在使用NetBeans,这种方法很好:

/* @var $data['a'] \SomeClass */
/* @var $data['b'] string */
$data = array(
  "a" => new \SomeClass(),
  "b" => "Dump string"
);

在NetBeans中进行这种类型的注释时,使用单个*非常重要。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接