我正在尝试正确注释我的代码,我通常不会从函数内部回显任何内容,通常我只是返回数据,然后在需要时回显返回的值。今天我写了一个函数,它只会在视图文件中经常使用,所以我想为什么不从函数内部回显,然后在需要时调用它,避免在任何地方输入回显。
我想知道是否有任何方法可以在 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';
}
}
Run Code Online (Sandbox Code Playgroud)
所以可以像这样在视图中使用:
<textarea name="data" class="<?php Lib\Validation::getFailedClass($fields, 'data'); ?>"></textarea>
Run Code Online (Sandbox Code Playgroud)
不,没有 doc 标签来指示这种行为。充其量,人们会在描述中强调这种行为发生在函数中。
您可能考虑的另一种方法是让函数返回而不是回显,并<?=在您的视图中使用短回显标记。这样,您可以避免编写具有副作用的函数(通常被认为是一种反模式),同时仍然避免echo在每次使用函数时输入。两全其美 :-)