PHP 和带有多个 属性 声明的 Doxygen
PHP and Doxygen with multiple property declaration
我终于让 doxygen 与 php 和 PHPDoc 风格的评论一起工作(我正在用过滤器删除“@package”,因为它会破坏 doxygen)尽管有一件事我会喜欢拥有但无法弄清楚如何。
在 PHP 中,我在 class 中编写多个 属性 声明,如下所示:
class Foo
{
private
/// the blue color
$blue,
/// the red color
$red,
/// the yellow color
$yellow;
public
/// the orange color
$orange,
/// black (no color)
$black;
public function bar() {}
}
如果我现在正在生成文档,只有第一个 属性 显示为 private Attribute
,而所有其他属性都被简单地引用为 Data Fields
。所以 doxygen 显然不会在第一个之后解析每个 属性 的访问器。
是否可以使这种注释风格与 doxygen 兼容?
P.S:我考虑过应用一个过滤器,将其转换为 doxygen 可解析的代码风格。虽然这只是一个修复程序,但我目前正在处理它。
我编写了这个过滤器,适用于您提供的示例。我认为它也应该适用于更复杂的示例。
// Get the input
$source = file_get_contents($argv[1]);
$count = 0;
do {
$source = preg_replace('#(private|public|protected)(\s*[^$]*)($[^,;]+),#',
" ;\n ", $source, -1, $count);
} while($count > 0);
// Output
echo $source;
您可以在我的 GitHub 存储库 doxygen-php-filters 中找到这个和其他过滤器。
我终于让 doxygen 与 php 和 PHPDoc 风格的评论一起工作(我正在用过滤器删除“@package”,因为它会破坏 doxygen)尽管有一件事我会喜欢拥有但无法弄清楚如何。
在 PHP 中,我在 class 中编写多个 属性 声明,如下所示:
class Foo
{
private
/// the blue color
$blue,
/// the red color
$red,
/// the yellow color
$yellow;
public
/// the orange color
$orange,
/// black (no color)
$black;
public function bar() {}
}
如果我现在正在生成文档,只有第一个 属性 显示为 private Attribute
,而所有其他属性都被简单地引用为 Data Fields
。所以 doxygen 显然不会在第一个之后解析每个 属性 的访问器。
是否可以使这种注释风格与 doxygen 兼容?
P.S:我考虑过应用一个过滤器,将其转换为 doxygen 可解析的代码风格。虽然这只是一个修复程序,但我目前正在处理它。
我编写了这个过滤器,适用于您提供的示例。我认为它也应该适用于更复杂的示例。
// Get the input
$source = file_get_contents($argv[1]);
$count = 0;
do {
$source = preg_replace('#(private|public|protected)(\s*[^$]*)($[^,;]+),#',
" ;\n ", $source, -1, $count);
} while($count > 0);
// Output
echo $source;
您可以在我的 GitHub 存储库 doxygen-php-filters 中找到这个和其他过滤器。