2012-01-23 18 views
13

कक्षा बनाने के दौरान @param का क्या अर्थ है? जहां तक ​​मैं समझता हूं कि इसका उपयोग स्क्रिप्ट को बताने के लिए किया जाता है कि किस तरह के डेटाटाइप चर हैं और फ़ंक्शन किस तरह का मूल्य लौटाता है, क्या यह सही है? उदाहरण के लिए:कक्षा में @param का क्या अर्थ है?

/** 
* @param string $some 
* @param array $some2 
* @return void 
*/ 

Isn't वहाँ एक और तरीका है कि ऐसा करने के लिए, मैं जैसी चीजों की सोच रहा हूँ: void function() { ... } या ऐसा ही कुछ। और चर के लिए शायद (int) $ परीक्षण;

+0

आप बाहर http://manual.phpdoc.org/HTMLframesConverter/default/ – Maerlyn

+0

की जाँच करनी चाहिए [phpdoc] (http://manual.phpdoc.org/HTMLSmartyConverter/HandS/phpDocumentor/tutorial_tags.pkg देखें। एचटीएमएल) अधिक जानकारी के लिए। – Xeoncross

उत्तर

16

@param PHP में विशेष अर्थ नहीं है, यह आम तौर पर दस्तावेज़ लिखने के लिए एक टिप्पणी के भीतर उपयोग किया जाता है। आपके द्वारा प्रदान किया गया उदाहरण केवल यही दिखाता है।

आप एक प्रलेखन उपकरण का उपयोग करते हैं, यह @param, @summary के लिए कोड दस्त जाएगा, और अन्य इसी तरह के मूल्यों (उपकरण की मिलावट के आधार पर) स्वचालित रूप से कोड के लिए अच्छी तरह से स्वरूपित प्रलेखन उत्पन्न करने के लिए।

1

PHP टिप्पणियों के लिए पूरी तरह से अनजान है। इसका उपयोग पैरामीटर को वर्णित करने के लिए किया जाता है, विधि केवल कोड को और अधिक पठनीय और समझने योग्य बनाने के लिए होती है।

इसके अतिरिक्त, अच्छा कोड अभ्यास दस्तावेज़ जनरेटर के लिए कुछ नामों (जैसे @param) का उपयोग करने के लिए समर्पित है।

कुछ आईडीई में @param और प्रासंगिक विधि पर होवरिंग का उपयोग करते समय टूलटिप में अन्य जानकारी शामिल होगी।

+1

यह पूरी तरह से सच नहीं है कि PHP टिप्पणियों के लिए अनजान है।PHP की प्रतिबिंब एपीआई विशेष रूप से डॉक्टर टिप्पणियों की व्याख्या कर सकती है, और कुछ परियोजनाएं जैसे सिद्धांत मेटा-कॉन्फ़िगरेशन के लिए उन्हें भारी रूप से उपयोग करते हैं। http://www.php.net/manual/en/intro.reflection.php – redreinard

2

जैसा कि अन्य ने @param का उल्लेख किया है, आप एक टिप्पणी का हिस्सा हैं और वाक्य रचनात्मक रूप से महत्वपूर्ण नहीं हैं। दस्तावेज़ीकरण जनरेटर को संकेत प्रदान करने के लिए यह बस वहां है। PHPDoc प्रोजेक्ट को देखकर आप समर्थित निर्देशों और वाक्यविन्यास पर अधिक जानकारी प्राप्त कर सकते हैं।

अपने प्रश्न के दूसरे भाग से बात करते हुए ... जहां तक ​​मुझे पता है, PHP में रिटर्न प्रकार निर्दिष्ट करने का कोई तरीका नहीं है। आप पैरामीटर को एक विशिष्ट आदिम प्रकार (स्ट्रिंग, पूर्णांक, आदि) के रूप में भी मजबूर नहीं कर सकते हैं।

हालांकि, आप आवश्यक हो सकते हैं कि पैरामीटर या तो एक सरणी, ऑब्जेक्ट, या एक विशिष्ट प्रकार की ऑब्जेक्ट PHP 5.1 या तो हो।

function importArray(array $myArray) 
{ 
} 

पीएचपी अगर आप कोशिश करते हैं और एक सरणी के अलावा कुछ भी के साथ इस विधि कॉल एक त्रुटि फेंक देते हैं।

class MyClass 
{ 
} 

function doStuff(MyClass $o) 
{ 
} 

आप MyClass को छोड़कर किसी भी प्रकार की एक वस्तु के साथ doStuff कॉल करने के लिए प्रयास करते हैं, पीएचपी फिर एक त्रुटि फेंक देते हैं।

0

@param विवरण टिप्पणी का एक हिस्सा है जो आपको बताता है कि इनपुट पैरामीटर प्रकार क्या है। कोड सिंटैक्स के साथ इसका कोई लेना-देना नहीं है। आसानी से देखने के लिए कोड और क्या टिप्पणियां देखने के लिए नोटपैड ++ जैसे रंग समर्थित संपादक का उपयोग करें।

2

मुझे पता है कि यह पुराना है लेकिन संदर्भ के लिए, प्रश्न के दूसरे भाग का उत्तर अब PHP7 है।

// this function accepts and returns an int 
function age(int $age): int{ 

    return 18; 
}