正在为参数更改的函数写入注释块


Writing comment block for function where parameters change

如何最好地为该函数编写注释,其中基于$data参数的类型行为略有不同。

/**
 * Appends data
 *
 * @param mixed - data array
 * @param value
 * @return self
 */
public function addData($data, $value = '')
{
    if(is_array($data)){
        $this->data = array_merge($this->data, $data);
    } else {
        if($value != ''){
            $this->data[$data] = $value;
        } else {
            $this->data[] = $data;
        }
    }
    return $this;
}

示例:

$this->addData($my_array);
$this->addData('my_var', $my_var);
$this->addData($my_var);

更新:

/**
 * Appends data
 *
 * @param array|string - This can be either an array to be merged
 *                       OR a value to be added to than array
 *                       OR a key if the $value param is set.
 * @param string - If set the first $data parma will be used as the key.
 * @return object
 */

在@param之后,它应该是您传递的变量的类型,如果有几种可能的类型,您可以用|来分隔它们,如下所示:

 /**
 * Appends data
 *
 * @param array|string
 * @param string
 * @return object
 */

有更详细的例子,包括类型、变量名称和描述:

 /**
 * Appends data
 *
 * @param array|string $parameterOne This is used for...
 * @param string $parameterTwo Optional because...
 * @return object
 */

这是PHPDoc网站上的语法(http://manual.phpdoc.org/HTMLSmartyConverter/HandS/phpDocumentor/tutorial_tags.param.pkg.html):

@param datatype1|datatype2 $paramname description