我在我的项目中使用PHP和JavaScript,我完全使用netbeans 7.0.1编写代码。我非常喜欢netbeans如何包含和使用JavaDoc注释样式,包括PHP和JS代码。
现在,我想从PHP和JS代码生成代码文档。我知道有几种方法可以做到这一点,但我的主要目标是在一个文档中提供这两个部分的文档。
进一步解释:例如,我可以使用Doxygen并处理PHP文件和JsDoc来处理JS文件。结果是,我现在在两个不同的文件夹中有两个不同的文档 - 一个我不喜欢的结果。正如我所提到的,我想在一个文档中使用它们。
所以,首先我通过使用doxygen helper js2doxy.pl(http://jsunit.berlios.de/internal.html),但这不够灵活。它适用于“普通”定义的函数,但不适用于匿名的js函数。
经过一番尝试后,我想为什么不改变文件的FILE_PATTERNS选项来处理.js文件,因为注释的JavaDoc样式几乎与PHP使用的样式相同。好吧,结果很有希望,但文档中缺少一些函数。
以下是示例:
/**
* Definitions for the languages.
* @memberof Language
*/
Language.Definitions = (function()
{
...
}
这很有效,我可以看到文档。但是:
**
* Definitions for the languages
* @memberof Language
*/
Language.Definitions = (function()
{
var Translations = {};
/**
* Replaces strings.
* @memberof Language
* @param string translation Translation string
* @param array parameters (optional) List of parameters
*
* @return string replaced string
*/
function replaceStrings(translation, parameters)
{
...
}
在这个例子中,我看到了Language.Definitions的文档,但没有看到replaceStrings()的文档。你有什么想法,我做错了什么?同样的构造是由JsDoc完成的过程。
(Language.Definitions的一部分)......
...
return {
/**
* Initialize translations
*
* @memberof Language
*/
initTranslations: function()
{
...
}
...
}
...未在文档中显示。
如果有人能告诉我如何将doxygen和JsDoc的两个输出合并到一个文档中,我也不介意。
提前多多感谢!
问候!
答案 0 :(得分:10)
请参阅特殊命令\fn以明确声明doxygen中的函数,最好是在源头中声明,如下所示:
/*!
* Language
* Declare the root class
* \Class Language
*/
/*!
* definitions is a property in the Language class
* \property Definitions definitions
*/
/*!
* Document the Definitions static class that used as property in the Language class
* \Class Definitions
*/
/*!
* Replaces strings
* Document the static method for the Definitions class
* \fn string replaceStrings(translation, parameters)
* \memberof Definitions
* \param string translation Translation string
* \param array parameters (optional) List of parameters
* \return string replaced string
*/
Language.definitions = (function()
{
var Translations = {};
function replaceStrings(translation, parameters)
{
...
}