2010-09-28 13 views
12

मैं कैसे करूँ सेटअप कोड जब एक वर्ग का सहारा के बिना निजी या संरक्षित सदस्य चर है कि साथ काम करने Zend स्टूडियो (या किसी भी ग्रहण आधारित आईडीई) पर काम करने के पूरा होने गेटटर का एक गुच्छा या सदस्य वर्र्स को जनता के रूप में स्थापित करना।कोड समापन जब जादू __get() का उपयोग कर

उदाहरण के लिए:

class Dog { 

    protected $bark = 'woof!'; 

    public function __get($key) { 
     if (isset($this->$key)) { 
      return $this->$key; 
     } 
    } 

} 

$Dog = new Dog(); 
echo $Dog->bark; // <-- I want the IDE to "know" that bark is a property of Dog. 

उत्तर

24

जादू के तरीके के लिए कोड समापन वर्ग (विधि डॉक्स में नहीं) की DocBlock में @property और @method एनोटेशन का उपयोग करके प्राप्त किया जा सकता है।

/** 
* @property string bark 
*/ 
class Dog { 
    /* ... */ 
} 

$Dog = new Dog(); 
echo $Dog-> // will autocomplete now 

ध्यान दें कि वास्तविक कोड और एनोटेशन के बीच कोई सहसंबंध नहीं है। इस संपत्ति के बावजूद, ज़ेंड स्टूडियो जो कुछ भी आपने @property के लिए सेट किया है, दिखाएगा। यह जांच भी नहीं करेगा कि वास्तव में एक जादू विधि उपलब्ध है या नहीं।

Code Completion in Zend Studio with @property annotation

+0

क्या यह ग्रहण के साथ भी काम करता है? –

+1

@ मैथ्यूयू इसे ग्रहण के साथ भी काम करना चाहिए। लेकिन उस पर मुझे नाखून मत करो। – Gordon

+2

बस यह पुष्टि करना नेटबीन्स 7.2 – qrazi

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