डॉक्सिजन एक चर के रूप में PHP 'do' कीवर्ड को पार्स कर रहा है। इसे रोकने के लिए मैं अपना कोड कैसे बदल सकता हूं?

डॉक्सिजन-स्वरूपित टिप्पणियों के साथ मेरा PHP/HTML कोड:

<!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.
*/
?>

<head>
<title>PHP-Doxygen 'do ... while' Test</title>
</head>
<body>

Array displayed via 'do ... while'

<?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] . "
"; $i++; } while ($i < count($starNames)); ?>
</body> </html>

PHP कोड ठीक चलाता है। हालांकि, जब मैं फ़ाइल पर डॉक्सिजन (v1.8.5) चलाता हूं, तो यह $ starNames और $ i के अतिरिक्त do को चर के रूप में सूचीबद्ध करता है। :

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

परिवर्तनीय दस्तावेज़ीकरण अनुभाग में, do इस प्रकार सूचीबद्ध है:

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

do पंक्ति से पहले न्यूलाइन जोड़ना या echo लाइन से echo लाइन को हटा देना डॉक्सिजन पार्सिंग do को रोक नहीं देता है एक परिवर्तनीय। मेरे वास्तविक कोड में, यह जबकि और के लिए loops के लिए भी ऐसा कर रहा है। यह मेरी परियोजना के लिए प्रलेखन के मूल्य को बहुत कम करता है!

क्या मेरे PHP कोड को बदलने का कोई तरीका है ताकि डॉक्सिजन ऐसा न करे? वैकल्पिक रूप से, क्या एक चर के रूप में 'do' दस्तावेज न करने के लिए डॉक्सिजन को बताने का कोई तरीका है?

मैं उपयोग कर रहा हूँ:

  • डॉक्सिजन 1.8.5
  • PHP 5.3.8
  • अपाचे 2.4.3
  • विंडोज 7 होम प्रीमियम एसपी 1

डॉक्सिजन के लिए, मैं 'सी या PHP आउटपुट के लिए ऑप्टिमाइज़' कॉन्फ़िगरेशन सेटिंग का उपयोग कर रहा हूं।

मैंने इस समस्या के लिए कई खोज की हैं और डॉक्सिजन के समर्थन अभिलेखागार, डॉक्सिजन के ज्ञात मुद्दे और स्टैक ओवरफ़्लो सहित कुछ भी नहीं मिला है।

0

1 उत्तर

डॉक्सिजन कोड को पार्स करते समय फ़ंक्शंस, क्लासेस, मॉड्यूल या नेमस्पेस की अपेक्षा करता है, लेकिन वैश्विक स्तर पर बयान नहीं, जैसा कि आपके उदाहरण में है।

इसलिए आपको इन कथनों को किसी फ़ंक्शन में लपेटना चाहिए, या /** @cond */ .. /** @endcond */ का उपयोग करके उन्हें अनदेखा करने के लिए डॉक्सिजन बताएं।

0
जोड़ा