web-dev-qa-db-ja.com

PHP Documentorの連想配列にコメントする

PHPアプリケーションでいくつかの連想配列を使用し、PHPドキュメンタリーを使用してソースにコメントします。実際には、配列のコメントを指定しませんでした。配列ですが、今はそれを行う必要があり、方法がわかりません。

$array = array('id' => 'test', 'class' => 'tester', 'options' => array('option1' => 1, 'option2' => 2))

@varおよび@paramコメントに対して正しい方法でこの配列にコメントするにはどうすればよいですか?私はこれをこのように行うことができますが、これが正しいかどうかはわかりません:

@param string $array['id']
@param string $array['class']
@param int $array['options']['option1']

しかし、@var部分に対してこれを行う方法は?

19
Abenil

各キーを文書化することはできませんが、 phpDocumentorにそれがどのタイプであるかを伝えることができます

あなたはこのようなことをすることができます:

/**
 * Form the array like this:
 * <code>
 * $array = array(
 *   'id'      => 'foo',          // the id
 *   'class'   => 'myClass',     // the class
 * );
 * 
 * </code>
 *
 * @var array[string]string 
 */
$array;
29
Stephen Fuhry

現在は包括的ではありませんが、いくつかのヒントについては WordPressインラインドキュメントリファレンス を参照します。

@paramまたは@varまたは@propertyのいずれか適切な方を使用してください

これらのガイドラインに従って、次のように連想配列を文書化できます。

/**
 * @property array $my_array {
 *     An array of parameters that customize the way the parser works.
 *
 *     @type boolean $ignore_whitespace Whether to gobble up whitespace. Default true.
 *     @type string $error_level What the error reporting level is. Default 'none'.
 *                               Accepts 'none', 'low', 'high'.
 * }
 */
8
Tom Auger

私にとって、これはPhpStorm forNiceの戻り値の説明で正常に機能します。

/**
 * @param string $requestUri
 * @return array[
 *  'controller' => string,
 *  'action' => string
 * ]
 */
3
Richárd Vastag