2012-12-17 17 views
6

मैं इस तरह से चर के NetBeans प्रकार कहने के लिए एक रास्ता मिल गया है:Netbeans में वैरिएबल प्रकार परिभाषित पीएचपी

//model.php 
abstract class Model { 
     /* @var $db Database */ 
     protected $db; 
     (...) 
} 

//Mymodel.php 
class MyModel extends Model { 
     (...) 
     $this->db-> //no hints 
     (...) 
} 
:

/* @var $variablename Type */ 

हालांकि इस मामले में कोई संकेत दिए हैं (डाटाबेस मेरी कक्षा है)

क्या यह नेटबीन सीमा या मेरी गलती है?

+0

ठीक है, सभी वर्ग (डाटाबेस, मॉडल और MyModel) फ़ाइलें एक ही फ़ोल्डर में हैं, मैं डेटाबेस मिल गया है मॉडल कक्षा में संकेत, हालांकि मुझे इस तरह की टिप्पणी के बिना भी मिला है, माईमोडेल में मुझे मूल वर्ग से संकेत मिले हैं, लेकिन माईमोडेल-> डीबी के साथ कोई संकेत नहीं है। संस्करण 7.2 – Andy

+0

वैरिएबल नाम को उपसर्ग करने के लिए चर की आवश्यकता है, इसे अन्य तरीकों की बजाय '@var डेटाबेस $ db' पढ़ना चाहिए। अन्य संभावित समस्या स्रोत: गलत पथ शामिल है (क्या आप एसटीआरजी + अपने $ डीबी वैरिएबल में क्लिक कर सकते हैं?) या कक्षा विधि के बजाय वर्ग में संपत्ति का उपयोग कर सकते हैं। – SaschaM78

उत्तर

4

सबसे पहले, वैरिएबल प्रकार पहले परिभाषित करते हैं, इस तरह:

/* @var Database $db This is my Database object */ 

और दूसरी बात मैं टिप्पणी करते हुए की तरह phpdoc उपयोग करने के लिए सुझाव है:

class Model { 

/** 
* @var Database $db This is my Database object 
*/ 
protected $db; 

कोई मुद्दा नहीं तो होना चाहिए .. ।

+0

यह काम करता है :-) समस्या एक पंक्ति टिप्पणी थी – Andy

+0

+1 आपने मुझे यह महसूस किया कि समस्या क्या थी। मैंने पूर्णता के लिए एक जवाब जोड़ा है। –

+0

देखा नहीं गया था स्लैश के बाद केवल एक तारांकन था, अच्छी तरह से मनाया। – SaschaM78

8

NetBeans कर सकते हैं इसी तरह के दो अभी तक विभिन्न टिप्पणी एनोटेशन के उपयोग:

  1. अच्छा वर्ष phpdoc ब्लॉक टिप्पणी, कि /** के साथ शुरू और आइटम से पहले सही रखा जाता है परिभाषा:

    /** 
    * @var Database $db Database connection instance 
    */ 
    protected $db; 
    
  2. Variable type इनलाइन टिप्पणी, कि /* के साथ शुरू और पहले आइटम उपयोग कहीं रखा जाता है:

    $foo = $this->db; 
    /* @var $foo Database*/ 
    $foo->... 
    

दूसरा प्रकार काम में आता है जब डॉकब्लॉक टिप्पणियां या तो उपलब्ध नहीं होती हैं या सहायक नहीं होती हैं, उदा। आप किसी तृतीय-पक्ष लाइब्रेरी का उपयोग कर रहे हैं जो दस्तावेज़ीकृत नहीं है या आपके चर प्रकार को स्वचालित रूप से ट्रैक नहीं किया जा सकता है।

आप मूल रूप से # 1 के लिए # 2 के लिए संदर्भ में सिंटैक्स का उपयोग कर रहे थे ;-)

+0

अच्छा बिंदु! +1। – shadyyx

+0

हाँ, मैं एक विधि के भीतर (डबल-स्टार)/** टिप्पणी की कोशिश कर रहा था। बदल दिया है कि * * और voila। –

+0

इसके लिए धन्यवाद। मुझे इसकी ही खोज थी। – MarthyM