2009-12-31 9 views
5

मुझे यह कन्स्ट्रक्टर मिला है जो वैकल्पिक तर्क लेता है। इसके साथ प्रमुख समस्या उपयोगिता की है। मेरे ढांचे का उपयोग करने वाला डेवलपर तुरंत सिरदर्द पकड़ लेगा क्योंकि उसे नहीं पता कि वह तर्क दे सकता है, किस तरह का तर्क, या अगर वह बिल्कुल नहीं कर सकता है। निष्कर्ष: यह बस बेकार है। अगर किसी को स्थापित Netbeans की तरह एक उचित आईडीई है लेकिन phpdoc एक छोटा सा मदद मिल सकती है;)PHPDoc में तर्क कैसे वैकल्पिक है यह चिह्नित करने के लिए?

तो:

class ChildClass extends ParentClass { 
    public function __construct() { 
    $tplFile = func_get_arg(0); 
    if (!isset($tpl)) { 
     $tpl = 'index'; 
    } 
    parent::__construct($tpl); 
    } 
} 

कैसे मैं यहाँ phpdoc इस्तेमाल कर सकते हैं संकेत मिलता है कि वहाँ एक वैकल्पिक [$ TPL] प्रदान किया जा सकता तर्क?

उत्तर

6

एक पैरामीटर घोषित और यह एक पूर्व निर्धारित दे:

public function __construct($my_argument = 0) 

मेरी आईडीई (phpEd, जो है phpdoc संवेदी) इसे सही ढंग से व्याख्या करता है। phpdoc, भी, और पैरामीटर ब्रेसिज़ में डाल दिया जाना चाहिए:

show ([$my_argument]) 
+1

कोड में एक वैकल्पिक तर्क घोषित करके, phpDoc और कच्चे कोड के पाठक दोनों व्याख्या कर सकते हैं कि विधि को तर्क के बिना उपयोग किया जा सकता है। चाहे आप यह करते हैं या नहीं, सिर्फ डॉकब्लॉक में @param टैग का उपयोग करके phpDoc को कुछ लिखने के लिए दिया जाएगा, और मुझे पता है कि ग्रहण पीडीटी कम से कम इसे उठाएगा और इसे दिखाएगा जब यह विधि के बारे में दस्तावेज़ों को पॉप करता है पर ढंका – ashnazg

+0

जब आप फ़ंक्शन हस्ताक्षर में स्पष्ट तर्क नहीं देते हैं, तो @param का उपयोग कैसे किया जा सकता है, इसके बारे में अधिक जानकारी के लिए, नीचे उदाहरण देखें [1] .... बस इसे केवल "@param मिश्रित $ v के साथ कल्पना करें, ... "लाइन का इस्तेमाल किया जा रहा है। [1] - http://manual.phpdoc.org/HTMLSmartyConverter/HandS/phpDocumentor/tutorial_tags.param.pkg.html – ashnazg