什么是“@";注释中的符号


What is the "@" Symbol for in Comments?

在PHP中,我注意到人们在源代码注释中添加了"@"符号。一个很好的例子是任何WordPress。当你查看来源时,你会看到类似的东西

/** Results of the last query made
 *
 * @since 1.0.0
 * @access private
 * @var array|null
 */
var $last_result

(wp-db.php,第124行)

它改变了编辑器中突出显示的语法,所以我假设它做了一些事情,但我不确定它做了什么。有人能在评论中解释一下"@"符号的作用吗?

这些是PHPDoc注释。它们旨在通过机器解析来支持自动化文档和IDE代码完成。

前面的回答是正确的,说明源注释中的@符号是PHPDoc注释。它们还可以用于一种名为"注释"的东西,它将元数据添加到代码的某些元素中,并可以影响应用程序的行为。它在PHP中没有得到官方支持,但它已经讨论了好几年,并在Symfony、Doctrine和其他项目中使用。

通过幻灯片(与我无关)对PHP和注释的所有内容进行了出色的解释:

http://www.slideshare.net/rdohms/annotations-in-php-they-exist

注释主题的一般讨论:

http://en.wikipedia.org/wiki/Annotation

2010年关于PHP注释实现的RFC:

http://wiki.php.net/rfc/annotations

这样的注释可以用来创建一个由注释组成的文档解析器。因此,第一个@可以标识为版本,第二个可以标识为参数,依此类推

这通常用于从源代码文件自动生成文档。在这种情况下,@_用于标识有关变量的元数据。@var可以告诉文档解析器以下文本描述变量等等,而不是按顺序求值。