2010-04-26 5 views
17

में टिप्पणी सहयोगी सरणी मैं अपने PHP अनुप्रयोग में कई सहयोगी सरणी का उपयोग करता हूं और मैं अपने स्रोतों पर टिप्पणी करने के लिए PHP दस्तावेज़कर्ता का उपयोग कर रहा हूं। मैंने वास्तव में किसी सरणी में सरणी के लिए टिप्पणियां निर्दिष्ट नहीं की हैं, लेकिन अब मुझे ऐसा करने की ज़रूरत है और यह नहीं पता कि कैसे।PHP डॉक्यूमेंटर

$array = array('id' => 'test', 'class' => 'tester', 'options' => array('option1' => 1, 'option2' => 2)) 

मैं @var और @param टिप्पणियों के लिए सही तरीके से इस सरणी कैसे टिप्पणी कर सकता हूँ? मैं इस तरह ऐसा कर सकता है, लेकिन मैं नहीं जानता कि यदि यह सही है:

@param string $array['id'] 
@param string $array['class'] 
@param int $array['options']['option1'] 

लेकिन यह कैसे @var भाग के लिए यह करने के लिए?

उत्तर

29

आप प्रत्येक कुंजी को दस्तावेज़ नहीं कर सकते, लेकिन you can tell phpDocumentor what type it is

आप कुछ इस तरह कर सकता है:

/** 
* Form the array like this: 
* <code> 
* $array = array(
* 'id'  => 'foo',   // the id 
* 'class' => 'myClass',  // the class 
*); 
* 
* </code> 
* 
* @var array[string]string 
*/ 
$array; 
+0

आपकी मदद के लिए धन्यवाद;) – Abenil

+2

क्या किसी भी आईडीई में ऑटो-पूर्ण/इंटेलिजेंस के साथ काम करने की पुष्टि हुई है, मुझे आश्चर्य है? [टाइप परिभाषाओं के लिए phpDoc एबीएनएफ] के अनुसार [http://www.phpdoc.org/docs/latest/for-users/types.html#abnf), सरणी अनुक्रमणिका के लिए किसी प्रकार के लिए निर्दिष्ट करने के लिए कोई भत्ता नहीं है। और यह सरणी को '@var स्ट्रिंग [] 'के रूप में निर्दिष्ट करता है (' सरणी 'घटक केवल" अनिर्दिष्ट "सरणी के लिए मौजूद होना चाहिए)। – Sepster

+0

@ सेप्स्टर मुझे नहीं लगता कि ज्यादातर आईडीई इसे पहचानने के लिए पर्याप्त स्मार्ट हैं, दुर्भाग्य से। आपका माइलेज भिन्न हो सकता है, लेकिन जब मुझे इस तरह के प्रकार के प्रकार की जागरूकता की बात आती है तो मुझे ज़ेंड स्टूडियो के कार्यान्वयन में थोड़ी कमी भी होती है। –

8

मैं कुछ संकेत के लिए WordPress Inline Documentation Reference पर विचार करेंगे, हालांकि यह वर्तमान में व्यापक नहीं है।

@param या @var या @property उपयोग, जो भी उन दिशा निर्देशों के अनुसार अपने संदर्भ

में उचित है, तो आप इस तरह अपने साहचर्य सरणी दस्तावेज़ हो सकता है:

/** 
* @property array $my_array { 
*  An array of parameters that customize the way the parser works. 
* 
*  @type boolean $ignore_whitespace Whether to gobble up whitespace. Default true. 
*  @type string $error_level What the error reporting level is. Default 'none'. 
*        Accepts 'none', 'low', 'high'. 
* } 
*/ 
+1

सरणी संरचनाओं को दस्तावेज करने के लिए यह नोटेशन कभी भी आधिकारिक PHPDoc spec में गंभीर चर्चा के बावजूद इसे कभी नहीं बनाया है इसे जोड़ने के बारे में 2013-14। –

+1

https://github.com/phpDocumentor/phpDocumentor2/issues/650 पर कुछ संबंधित चर्चा होने लगता है –