2012-08-09 87 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)[]
相關問題