9

次のような関数があるとします。

function theFunction() {
    $arr = array();
    for ($i=0;$i<10;$i++) {
        $arr[] = new theObject($i);
    }
    return $arr;
}

関数の戻り値の型を文書化する必要があります。もちろん、単に を使用するarrayこともできますが、それでは提供できるすべての情報が提供されるわけではなく、開発者に関数の本質について多くを伝えることはできません。

PHPDocでタイプ「[タイプ]の配列」を文書化するにはどうすればよいですか?

4

3 に答える 3

13

phpDocumentorのドキュメントから

Type で表される値は配列にすることができます。タイプは、次のオプションのいずれかの形式に従って定義する必要があります。

  1. unspecified、表現された配列の内容の定義は与えられません。例:@return array

  2. 単一の type を含むように指定されている場合、Type 定義はリーダーに各配列要素の型を通知します。その場合、特定の配列の要素として 1 つの Type のみが期待されます。

    例:@return int[]

    mixed も単一の型であることに注意してください。このキーワードを使用すると、各配列要素に任意の型が含まれていることを示すことができます。

  3. 複数の型を含むように指定されている場合、Type 定義は各配列要素の型をリーダーに通知します。各要素は、指定された任意のタイプにすることができます。例:@return (int|string)[]


    多くの IDE は、おそらくこの表記法をまだサポートしていないことに注意してください。

于 2013-06-11T11:12:15.203 に答える
5

PHPDoc では、型ヒント配列メンバーに対して次のことができます。

@var array<\My\Folder\ClassName>

アップデート

次のように、連想配列のキーを明示的に宣言することもできます。

@var array<string, \My\Folder\ClassName>

ここに投稿された回答によると、次のようにしたい場合に備えて、キーを明示的に宣言することもできます。

/**
 * @return array[
 *  'controller' => string,
 *  'action' => string
 * ]
 */
于 2015-04-08T12:29:41.500 に答える
-1

私の記憶が正しければ、戻り値の型と説明を提供してください。それを説明に入れてもらえませんか?

/**
 * blah
 * @return array array of types
 */
于 2013-06-11T11:11:07.540 に答える