2012-02-03 18 views
20

में phpdoc-उत्पन्न प्रलेखन मैं phpdocक्या phpDoc को पैरामीटर के रूप में ऑब्जेक्ट्स की सरणी दस्तावेज करने का कोई तरीका है?

@param CustomType $variablename 

का उपयोग कर एक दिया परम के लिए एक कस्टम प्रकार परिभाषा के लिए एक लिंक उत्पन्न करने के लिए पैदा कर सकता है और उस महान काम करता है। हालांकि, जिस कोड में मैं वर्तमान में दस्तावेज़िंग कर रहा हूं उसे कस्टम टाइप [] पैरामीटर की आवश्यकता है, यानी कस्टम टाइप टाइप की एक सरणी। मैं प्रलेखन स्पष्ट होना कि एक सरणी की आवश्यकता है चाहता हूँ, लेकिन जब मैं का उपयोग

@param CustomType[] $variablename 

phpdoc नहीं रह गया है प्रकार पहचानता है, और इस प्रकार यह की परिभाषा से लिंक नहीं कर सकते हैं। इस मामले में यह बहुत महत्वपूर्ण है - मैं एक एपीआई दस्तावेज कर रहा हूं जिसमें कुछ जटिल प्रकार हैं जिन्हें प्रदान करने की आवश्यकता है।

मैंने इसके लिए कई अलग-अलग वाक्यविन्यासों का प्रयास किया है और सभी या तो प्रविष्टियों को अलग-अलग चर प्रकार या दस्तावेज़ीकरण में ब्रेक टाइप मान्यता के रूप में देखते हैं।

इसे छोड़कर मैं इसे पैरामीटर नोट में नोट कर दूंगा, लेकिन इस प्रकार पैरामीटर के सरणी-नेस को दिखाने के लिए यह अधिक स्पष्ट लगता है।

संपादित

phpDocumentor 2 (जो DocBlox के साथ विलय)

@param CustomType[] $paramName 

वाक्य रचना काम करता है के साथ

, और जैसा कि @ में नोट स्टिक्स के जवाब PhpStorm टाइप-इशारा है कि वाक्य रचना के साथ समर्थन करता है।

स्वीकृत उत्तर उचित रूप से अपडेट किया गया।

+1

संभावित डुप्लिकेट: http://stackoverflow.com/questions/778564/phpdoc-type-hinting-for-array-of-objects –

+0

वास्तव में नहीं; वे मानार्थ हैं - वह आईडीई में टाइप-हिंटिंग के बारे में पूछ रहे हैं, जबकि मेरा स्वयं phpDoc दस्तावेज के बारे में था - मेरे मामले में टेप-संकेत सिर्फ एक अच्छा दुष्प्रभाव है। – cori

+0

किसी एसोसिएटिव सरणी के आकार को दस्तावेज़ित करने के लिए, https://stackoverflow.com/questions/14612773/php-docblocks-explaining-an-array?noredirect=1&lq=1 देखें - एक दृष्टिकोण https: // github पर है। कॉम/phpDocumentor/अंजीर मानकों/मुद्दों/30 # अंक-20061866 –

उत्तर

33

PHP डॉक समर्थन /** @var sometype[] */ वाक्यविन्यास का नया संस्करण। और भी जटिल: /** @var (sometype|othertype)[] */http://www.phpdoc.org/docs/latest/guides/types.html#arrays PHPStorm भी इस वाक्यविन्यास का समर्थन करता है। https://code.google.com/p/google-api-php-client/source/checkout जहां इनपुट पैरामीटर की सरणी संरचना में वर्णित है:

+0

शीश मैं आपको प्यार करता हूँ – user544262772

3

सबसे अच्छा तुम कर सकते है:

@param array $variablename an array of {@link CustomType} objects 

यह मदद करनी चाहिए पाठक, $ VariableName का सच डेटाप्रकार का एहसास करते हुए क्या सरणी शामिल की उम्मीद का संकेत है।

यह एक आईडीई के स्वत: पूर्णता में मदद करने के लिए पर्याप्त नहीं होगा जब $ variablename से सदस्य का उपयोग करने और कस्टमटाइप के गुणों/विधियों को प्रदर्शित करने की अपेक्षा की जाती है। वर्तमान में उस व्यवहार को पाने का कोई तरीका नहीं है।

+0

अनुमोदित, "कस्टमऑब्जेक्ट []" => "कस्टम ऑब्जेक्ट सदस्यों की एक सरणी" के डेटाटाइप हस्ताक्षर वाक्यविन्यास के लिए प्रगति में एक प्रयास है। एक बार यह एक दस्तावेज जनरेटर में उपलब्ध हो जाने के बाद, मुझे उम्मीद है कि आईडीई शायद इसके अर्थ का समर्थन करने के लिए पालन करेंगे। – ashnazg

+1

http://docs.docblox-project.org/for-users/types.html#arrays – ashnazg

+0

जो मैंने खुद को इस्तीफा दे दिया है, लेकिन डॉक्ब्लॉक्स का लिंक निम्नलिखित के लायक हो सकता है। धन्यवाद! – cori

2

से निम्नलिखित उदाहरण देखें।

/** 
    * Set the OAuth 2.0 access token using the string that resulted from calling authenticate() 
    * or Google_Client#getAccessToken(). 
    * @param string $accessToken JSON encoded string containing in the following format: 
    * {"access_token":"TOKEN", "refresh_token":"TOKEN", "token_type":"Bearer", 
    * "expires_in":3600, "id_token":"TOKEN", "created":1320790426} 
    */ 


/** 
    * Insert a new file. (files.insert) 
    * 
    * @param Google_DriveFile $postBody 
    * @param array $optParams Optional parameters. 
    * 
    * @opt_param bool convert Whether to convert this file to the corresponding Google Docs format. 
    * @opt_param string targetLanguage Target language to translate the file to. If no sourceLanguage is provided, the API will attempt to detect the language. 
    * @opt_param string sourceLanguage The language of the original file to be translated. 
    * @opt_param string ocrLanguage If ocr is true, hints at the language to use. Valid values are ISO 639-1 codes. 
    * @opt_param bool pinned Whether to pin the head revision of the uploaded file. 
    * @opt_param bool ocr Whether to attempt OCR on .jpg, .png, or .gif uploads. 
    * @opt_param string timedTextTrackName The timed text track name. 
    * @opt_param string timedTextLanguage The language of the timed text. 
    * @return Google_DriveFile 
    */ 
+0

@pt_param का कोई उल्लेख नहीं है phpdoc वेबसाइट/संदर्भ http://phpdoc.org/docs/latest/references/phpdoc/index.html या प्रस्तावित पीएसआर 5 दस्तावेज में https://github.com/phpDocumentor/fig-standards/blob/master/proposed/phpdoc.md - जिसने आपके द्वारा प्रतिलिपि किए गए डॉकब्लॉक को लिखा है, साथ ही @ this_wont_work_param (!) – kguest

+0

में टाइप किया गया है, किसी सरणी की कुंजी को दस्तावेज़ करना पर चर्चा चल रही है https://github.com/phpDocumentor/phpDocumentor2/issues/650 –

1

phpdoc प्रलेखन पर http://www.phpdoc.org/docs/latest/guides/types.html

सरणी

अज्ञात प्रकार के चर का एक संग्रह नोटों। सरणी सदस्यों के प्रकार निर्दिष्ट करना संभव है, अधिक जानकारी के लिए सरणी पर अध्याय देखें।

और ... कोई लिंक नहीं है और "सरणी पर कोई अध्याय" नहीं है। तो नहीं, यह एक आगामी सुविधा की तरह दिखता है।

संबंधित मुद्दे

 संबंधित मुद्दे