php评论中额外星号的目的是什么?

时间:2012-10-01 16:45:23

标签: php comments standards pear

我(最后)正在阅读PEAR(php)编码标准。

这样评论的目的是什么:

/** 
*   Here is my comment
*   I Wrote this in a haiku
*   But why put the stars?
*/

与此相反:

/* 
   Here is a comment
   No haiku or 
   anything special, but it still works!
*/

6 个答案:

答案 0 :(得分:15)

/** stuff */文档也称为DocBlock符号。

它用于记录PHP函数,类等。

/** 
* A test function
*
* @param  foo $bar
* @return baz
*/
function test(foo $bar) { return new baz; }

有些编辑会充分利用它来执行Code Insight功能,这是一个非常强大的工具,可以减少您查看旧功能声明所需的时间。 Aptana和Zend Studio有这个功能,也可能是其他功能。

您还可以将它与Reflection结合使用来执行某种AOP,在声明之上对DocBlock进行运行时检查。事实上,Doctrine使用它为他们的“Active Record”实现构建object attribute map

答案 1 :(得分:4)

某些文档系统有时会使用双星号注释。文档系统将处理该块并查找某些关键字,如@author或@var。

单个星号注释将被视为//注释。

参见PhpDoc http://www.phpdoc.org/docs/latest/guides/types.html

答案 2 :(得分:3)

我同意ajon和Quentin。主要是它的可读性。但是,还有一件事。

有自动文档生成器(如doxygen)。

他们需要一些特定的注释格式才能将这些注释包含在文档中。我相信这种评论方式完全用于此目的(请参阅以下doxygen文档页面 - http://www.doxygen.nl/manual/docblocks.html

答案 3 :(得分:2)

可读性。

它清楚地突出了人们阅读代码的注释部分。

答案 4 :(得分:2)

我认为这主要是为了外观/可读性。想象一下,你有一个很长的评论部分,超出了一个屏幕。然后看到这些星号让你知道它是评论的一部分,即使你看不到开头和结尾。

答案 5 :(得分:1)

如果您使用优秀的自由文本编辑器jEdit来编辑PHP,它会突出显示不同颜色的代码,以显示动词是什么,变量是什么等。

如果用/ * ... *注释掉一个块,那么块内的所有内容都会变成橙色,这样就很难读取代码。

如果您用/ ** ... * /注释掉它,那么它会将块中的所有内容更改为仍然突出显示代码不同部分的不同颜色集,这意味着代码仍然非常易读。

PS。如果您使用记事本或类似编辑PHP代码,那么我强烈建议您获得jEdit。它将为您节省大量时间和挫折感。比如自动指示{},()等的开始和结束。