首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >doxygen将PHP 'do‘关键字解析为变量。如何更改代码以防止这种情况发生?

doxygen将PHP 'do‘关键字解析为变量。如何更改代码以防止这种情况发生?
EN

Stack Overflow用户
提问于 2013-11-25 22:50:13
回答 1查看 341关注 0票数 1

我的带有doxygen格式注释的PHP/HTML代码:

代码语言:javascript
复制
<!DOCTYPE html>
<?php
/** \file
* \brief php_doxygen_test.php demontrates that doxygen parses the keyword 'do' as a     variable in at least some cases.
*
* php_doxygen_test.php demontrates that doxygen parses the keyword 'do' as a variable in at least some cases. This
* was discovered for a 'do ... while' loop being used to display the contents of an array.
*/
?>
<html lang="en-us">
<head>
<title>PHP-Doxygen 'do ... while' Test</title>
</head>
<body>
<p>Array displayed via 'do ... while'</p>
<pre>
<?php
$starNames = array("Proxima Centauri", "Arcturus", "Sol", "Fomalhaut", "Deneb", "Rigel", "Zeta Ophiuchi"); /**< An indexed array of star names. */
$i = 0; /**< Counter for use in do ... while test. */
do {
  echo $starNames[$i] . "<br>";
  $i++;
} while ($i < count($starNames));
?>
</pre>
</body>
</html>

PHP代码运行良好。但是,当我在文件上运行doxygen (v1.8.5)时,它将do列为除了$starNames$i之外的一个变量

代码语言:javascript
复制
Variables
$starNames = array("Proxima Centauri", "Arcturus", "Sol", "Fomalhaut", "Deneb", "Rigel", "Zeta Ophiuchi")
$i = 0
do

在“可变文档”一节中,do列出如下:

代码语言:javascript
复制
do
Initial value:
{
  echo $starNames[$i] . "<br>"

do行之前添加新行或从do循环中删除echo行并不会停止作为变量的doxygen解析do。在我的实际代码中,它也是为whilefor循环这样做的。这大大降低了我的项目文档的价值!

有没有办法改变我的PHP代码,这样doxygen就不会这么做了?或者,是否有一种方法可以告诉doxygen不要将“do”作为变量记录?

我在用:

  • 脱氧核糖核酸1.8.5
  • PHP 5.3.8
  • Apache 2.4.3
  • Windows 7家庭高级SP1

对于doxygen,我使用“优化C或PHP输出”配置设置。

我已经对这个问题做了很多次搜索,但没有发现任何东西,包括doxygen的支持档案、doxygen已知的问题和堆栈溢出。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-11-26 22:49:47

在解析代码时,需要函数、类、模块或名称空间,而不是全局级别的语句,如您的示例所示。

所以,要么用函数包装这些语句,要么告诉doxygen使用/** @cond */忽略它们。/** @endcond */

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20205078

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档