2013-11-25 29 views
1

我的PHP/HTML代碼的doxygen格式的評論:doxygen正在解析PHP'do'關鍵字作爲變量。我如何更改我的代碼來防止這種情況發生?

<!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一個變量:

Variables 
$starNames = array("Proxima Centauri", "Arcturus", "Sol", "Fomalhaut", "Deneb", "Rigel", "Zeta Ophiuchi") 
$i = 0 
do 

在變量文檔部分,do被列爲:

do 
Initial value: 
{ 
    echo $starNames[$i] . "<br>" 

do行之前添加換行符或從do循環中刪除echo行不會停止doxygen解析do作爲變量。在我的實際代碼中,它對whilefor循環也是這樣做的。這大大降低了我的項目文檔的價值!

有沒有辦法改變我的PHP代碼,使doxygen不這樣做?或者,有沒有辦法告訴doxygen不要將「do」記錄爲變量?

我使用:

  • 的doxygen 1.8.5
  • PHP 5.3.8
  • 的Apache 2.4.3
  • Windows 7家庭高級版SP1

對於doxygen的,我正在使用'爲C或PHP輸出優化'配置設置。

我已經做了大量的搜索這個問題,並沒有發現任何東西,包括在doxygen的支持檔案,doxygen的已知問題和堆棧溢出。

回答

1

Doxygen在分析代碼時需要函數,類,模塊或名稱空間,但不要在全局級別聲明,如您的示例中所示。

因此,您應該將這些語句包裝在一個函數中,或者告訴doxygen使用/** @cond */ .. /** @endcond */來忽略它們。

相關問題