phpDocumentor如何指定副作用?

时间:2014-08-13 05:31:41

标签: php phpdoc

我正在尝试正确评论我的代码,我通常不回应函数内部的任何东西,通常我只返回数据,然后在需要时回显返回的值。今天我写了一个函数,它只会在视图文件中经常使用,所以我想为什么不只是在函数内回显,然后在需要时调用它,避免在任何地方输入回显。

我想知道是否有任何方法可以在phpDoc注释中指出此函数将回显一个字符串。 有点像@sideEffect输出或UpdateDb或SendToQueue?。

/**
 * Echo error class
 * @param array $fields
 * @param string $field
 * @return void
 * @sideEffect output
 */
public static function getFailedClass($fields, $field)
{
    if (isset($fields[$field])) {
        echo 'failedValidation';
    }
}

所以可以像这样使用:

<textarea name="data" class="<?php Lib\Validation::getFailedClass($fields, 'data'); ?>"></textarea>

1 个答案:

答案 0 :(得分:3)

不,没有doc标记来表示此类行为。充其量,人们会在描述中强调这种行为发生在函数中。

您可以考虑的另一种方法是让函数返回而不是echo,并在视图中使用<?=个短回显标记。这样,您可以避免编写具有副作用的函数(通常被认为是反模式),同时仍然避免在每次使用函数时键入echo。两全其美: - )