2012-08-09 74 views
6

以下哪一项是为phpDocumentor记录此方法的返回类型的正确方法?为phpDocumentor指定数组数据类型的正确方法?

方法1:

/** 
* @return array Foo array. 
*/ 
public function foo() { 
    return array(1, 2, 3); 
} 

方法2:

/** 
* @return integer[] Foo array. 
*/ 
public function foo() { 
    return array(1, 2, 3); 
} 

此外,是否有从任一方法的任何IDE影响?

编辑:

看来,PhpStorm和Netbeans IDE的7.1或更高版本都支持第二个方法。

回答

11

这两种方法在技术上是正确的,但这个被认为是 '更好',因为它更具体的(intinteger是可以互换):

@return int[] 

这里记载:

http://www.phpdoc.org/docs/latest/guides/types.html

+0

谢谢你的链接!我无法相信我错过了这一点。我想把这个标记为正确的答案,除了1.4.4节指出我列出的语法是正确的,其中你的答案只指定第二个是正确的(尽管第二个确实是最有帮助的,恕我直言)。 – FtDRbwLXw6 2012-08-09 16:59:07

+0

两者都是正确的,但是这个被认为是“更好的”,因为它更具体。 int/integer可以互换。 – Evert 2012-08-09 17:05:32

+0

@drrcknlsn:我很欣赏你花时间做编辑的事实。 – Evert 2012-08-09 19:04:14

4

在在写这个答案的时刻,这些是phpDocumentor(可能还有其他的PHPDoc实现)被接受的方式来表示一个数组:

  1. 未指定,没有的表示数组的内容定义为给定的 。例如:@return array

  2. 指定包含单一类型,所述Type定义通知 读者每个阵列元素的类型的。只有一个Type然后是 作为给定数组的元素。 实施例:@return int[]

    请注意,mixed也是单一类型和与此关键字它 可以指示每个数组元素包含任何可能 类型。

  3. 指定包含多种类型,Type定义通知读写器的每个数组元素的类型。每个元素可以是给定类型的任何 。例如:@return (int|string)[]
相关问题