冗余的php docblock标签有什么意义,比如@static?

时间:2012-09-09 20:03:58

标签: php phpdoc phpstorm docblocks

在PhpStorm中使用自动php docblock生成时,我最终在静态方法上使用了@static注释:

/**
 * Reset the singleton instance, for the tests only
 * @static
 */
public static function reset() {
    self::$singletonInstance = null;
}

如果可以从代码中推断出这些标签的用途吗?我正在试图决定是否应该离开它或将其删除(并且在任何地方都这样做以使其保持一致)。

1 个答案:

答案 0 :(得分:6)

这些标记是针对遗留PHP 4代码而引入的,这些代码不允许在代码中使用此类关键字。使用PHP 5,代码实际上是自我记录的,因此这些标记确实是多余的;我认为没有理由让他们留下来。

事实上,如果您为PHP 5源文件生成文档,phpDocumentor应该仍然能够确定这些是静态方法。这在phpDocumentor docs

中提到
  

在代码中使用 static 关键字足以让PHP5上的PhpDocumentor识别静态变量和方法,而PhpDocumentor会将它们标记为静态。