Doxygen在记录PHP时出现奇怪的问题,如果

| 我在尝试记录我的项目时遇到一个奇怪的问题。我有以下代码:
//! Set default ::$action for called controller. If no action is called, default (index) will be set.
$action = isset($_GET[ \'action\']) ? $_GET[ \'action\'] : \'index\';

if ($action) {
    echo \'something 1\';
}else{
    echo \'something 2\';
}

//! Set default ::$action2 for called controller. If no action is called, default (index) will be set.
$action2 = isset($_GET[ \'action\']) ? $_GET[ \'action\'] : \'index\';

//! Set default ::$action3 for called controller. If no action is called, default (index) will be set.
$action3 = isset($_GET[ \'action\']) ? $_GET[ \'action\'] : \'index\';
Doxygen生成以下内容: 您可能会看到,缺少$ action2。我检查了其他文件之一,并看到了相同的问题。
if
语句之后的下一件事永远不会被记录,但是那之后的那件事将被记录。如果从上面的示例中删除
if
语句,我将获得有关所有4个变量的文档-
$page
$action
action2
action3
。 我花了大量时间试图理解到底是什么问题,但是没有运气,因此欢迎大家提出建议。 系统是: 装有Doxygen 1.7.4的Windows XP x64。 (我正在使用Doxygen GUI) 更新 另外,当我的代码中有类似的内容时(请注意
if
语句缺少
else
)。但是,当我添加“ 9”时,它可以工作。下一个
$variables
不再记录,但该更新与
if/else
有关。 Doxygen将其转换为此     
已邀请:
        查看此http://www.doxygen.nl/manual/autolink.html,其中第一个代码段说明了您所遇到的怪异现象。 不幸的是,Doxygen在编写过程PHP代码方面做得不好,并且在检查了我自己的所有doxygen生成的文档之后,除非为它们定义了类属性,否则我找不到任何函数或方法的任何文档化变量。 否则,我认为其中最大的PHP Doxygen友好项目是Drupal,他们编写的指南是充分利用Doxygen的注释处理系统。 http://drupal.org/node/1354 请注意,如果这不是您要找的答案,或者我完全偏离目标,请立即通知我,以便我删除此答案。     
        我相信这是解析php时doxygen中的错误。 2008年有一个类似的问题已解决,但从未解决-https://bugzilla.gnome.org/show_bug.cgi?id=528815 我敢打赌,您的问题与您有关。 我有几点建议: 1)我可能偶然发现了一种解决方法。在该块后面添加分号似乎可以使其正常运行。
if ($action) {
  echo \'something 1\';
}else{
  echo \'something 2\';
};
但是,我不知道这是否会导致doxygen的解析出现其他问题。 2)我在我的c ++项目中使用doxygen,但在我的php项目中使用phpdoc,因为它的效果更好。如果出于政治或实际原因不与氧气联系在一起,则可以考虑做同样的事情。     
           仅限PHP:Doxygen要求所有   PHP语句(即代码)被包装   在函数/方法中,否则   可能会遇到解析问题。   资源 您是否正在使用开源php框架?是否可以在需要的地方将代码包装到函数/方法中?     

要回复问题请先登录注册