2013-11-26 5 views
5

मैं अपना खुद का MVC ढांचा बना रहा हूं, और मैं इसे बहुत बुनियादी बनाना चाहता हूं, लेकिन जब मैं कुछ IDE की तरह Eclipse या NetBeans का उपयोग करता हूं तो वे मुझे चेतावनी देते हैं कि वे चर जो प्रारंभ नहीं हुए हैं या वे नहीं पहचानते हैं टाइप करें वे हैं, इसलिए वे autocomplete कक्षा विधियों या गुणों को नहीं मानते हैं।किसी ऑब्जेक्ट को तत्काल करने से पहले एक PHP वर्ग चर को एक विशिष्ट वर्ग प्रकार के रूप में परिभाषित करने के लिए कैसे करें?

इसे ओवरराइड करने के लिए, मैंने एक PHP फ़ाइल बनाई है जहां वैश्विक पर्यावरण चर सेट किया गया है और एक नई वस्तु तत्काल है और फिर नष्ट हो गई है, इसलिए आईडीई इसे पहचानता है और मैं इसके साथ अच्छी तरह से काम कर सकता हूं।

लेकिन फिर उस कक्षा के रचनाकार उस समय निष्पादित होते हैं, और यह खतरनाक हो सकता है और मेरे कोड को भी धीमा कर सकता है। तो, इसे बेहतर तरीके से ओवरराइड करने के लिए, मैं एक चर प्रकार को एक विशिष्ट वर्ग के रूप में परिभाषित कैसे कर सकता हूं, इसे तुरंत बिना?

Delphi में जैसे हम var Test = TTest; करते हैं और Java में हम करते हैं String testString;testString = new String; से पहले

उत्तर

10

पीएचपी शिथिल टाइप किया है, तो आप यह नहीं कर सकते जैसे आप जावा में करते हैं। हालांकि, आप कस्टम कक्षाओं के लिए प्रकार संकेत दे सकते हैं। PHP.net पर इस विवरण देखें: http://php.net/manual/en/language.oop5.typehinting.php

+0

जो उपयुक्त है, धन्यवाद। मैं क्लास विधि में एक संकेतित पैरामीटर बना सकता हूं जिसे मैं बाहरी ऑब्जेक्ट का उपयोग कर रहा हूं। – PSyLoCKe

17

आईडीई के आधार पर आप phpdoc टिप्पणियों का उपयोग कर सकते हैं कोड पूरा होने

/** @var YourClass */ 
private $variable; 

पाने के लिए हालांकि

+0

यहां ** PHPDocumentor ** का आधिकारिक दस्तावेज है: https://www.phpdoc.org/docs/latest/references/phpdoc/tags/var.html – JavierFuentes

0

मैं अब कि फेसबुक डेवलपर्स बनाया पता यह आईडीई विशिष्ट है एक PHP संस्करण जिसे Hack कहा जाता है, जो मजबूत प्रकार वाले PHP है।

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