0

背景:addAllメソッドに渡されたすべての値をクラスに追加 するメソッドを作成しています。これが私が考えていたことです:

public function addAll() {
    if(func_num_args()===0) {
        throw new BadMethodCallException(get_class($this).'::addAll() must have arguments.');
    }

    $args = func_get_args();

    foreach($args as &$arg) {
        $this->add($arg);
    }
}

そして、それはうまく機能します。次に、phpDocumentor で文書化する必要があります。

/**
 * @param mixed ... All of the values to add.
 */

. . . @param率直に言って、それは存在しないので、私は自分の名前を持っていません。

質問: このようなものを構築して定義するにはどうすればよいですか?


少なくとも1つの値が渡されるようにしたいので、これを思いつきましたが、確信が持てません:

/**
 * @param mixed $value,... All of the values to add.
 */
public function addAll($value) {
    $args = func_get_args();

    foreach($args as &$arg) {
        $this->add($arg);
    }
}

$value直接使用されることはないため、間違っているようです。. .

また、すでにaddwhich を追加しているので、addAll意味的に少なくとも 2 つのパラメーターを必要とするべきではありませんか? それを定義して文書化するために何をお勧めしますか?

4

1 に答える 1

0

回答: @example タグを使用してください。

セットアップも変更しましたが、使いやすさを犠牲にすることなく PHP が提供するものを利用する最良の方法のようです。

/**
 * @param mixed $values Either an array of values to add, or multiple values
 * @example
 * 
 * $object->add('1');
 * $object->add('1','2');
 * $object->add(array('1','2'));
 * 
 * @return type 
 */
public function add($values=null) {
    if (is_array($values)) {
        return $this->addAll($values);
    } else {
        return $this->addAll(func_get_args());
    }
}
于 2011-09-30T20:58:53.807 に答える