रखरखाव और आईडीई कक्षा ऑटो-पूर्णता और सदस्य संकेत देने की आसानी के कारण, मैंने अपनी परियोजना में PHPDoc का उपयोग किया है। इस उदाहरण वर्ग को देखते हुए:नेटबीन्स में कक्षा दस्तावेज के लिए उचित तरीका PHP
class my_class {
public $id;
public $name;
public $number;
public function __construct() {
//Do something
}
public function Rename($name) {
$this->name = $name;
}
}
मैं कक्षा प्रलेखन ही है, जो वर्ग घोषणा से ऊपर है के साथ सभी गुण ($id
, $name
और $number
) दस्तावेज़ के लिए पसंद करते हैं, और उसके बाद के तरीकों के लिए दस्तावेज़ जगह (यदि आवश्यक हो) ऊपर प्रत्येक विधि। यहाँ है कि मैं क्या अंततः मेरी कक्षा की तरह देखना चाहते हैं:
/**
* Represents an example class for Stackoverflow
*
* @property int $id The id of the object
* @property string $name The name of the object
* @property int $number The number of the object
*/
class my_class {
public $id;
public $name;
public $number;
public function __construct() {
//Do something
}
/**
* Renames the object
* @param string $name Name to rename object
*/
public function Rename($name) {
$this->name = $name;
}
}
यह ठीक है कि मैं क्या प्रलेखन के रूप में शामिल किया जाना पसंद है, तथापि Netbeans 'स्वत: पूर्ण सही ढंग से संचालित करने के लिए, के रूप में यह प्रत्येक संपत्ति दो बार सूचीबद्ध करता है विफल रहता है। उदाहरण के लिए, यदि मैं $my_class_object->i
लिखना शुरू करता हूं तो ऑटो-पूर्ण दो $ आईडी गुणों की सूची देगा: जैसा कि मेरे PHPDoc में वर्णित है, और दूसरा "PHPDoc नहीं मिला" के साथ अज्ञात चर के रूप में वर्णित है।
एक समाधान है जो नेटबींस मुद्दे को हल करने के लिए काम करता है - प्रत्येक संपत्ति के ऊपर @var
PHPDoc ब्लॉक जोड़ें, हालांकि मुझे लगता है कि यह अनावश्यक रूप से मेरी कक्षा को अपनाना चाहता है, खासकर मेरे कुछ वर्ग जिनमें 10+ गुण हैं।
क्या मेरे दोनों मुद्दों (स्वच्छ दस्तावेज़, उचित नेटबीन संकेत) के लिए एक अच्छा [अच्छा] समाधान है, या क्या मैं इस बारे में गलत तरीके से जा रहा हूं?
डॉकब्लॉक टेम्पलेट से अनजान था - हालांकि मुझे कभी-कभी चर के उपयोग पर अतिरिक्त टिप्पणी प्रदान करने की आवश्यकता होती है, लेकिन मुझे ऑटो-पूर्ण-टू-स्नफ को रखने के दौरान कोड को अच्छी तरह से दस्तावेज रखने में मध्य ग्राउंड को पूरा करने में मदद करनी चाहिए। धन्यवाद! – Mattygabe
आप वास्तविक डॉक्ब्लॉक्स के साथ डॉकब्लॉक टेम्पलेट्स को जोड़ सकते हैं, जिसके परिणामस्वरूप टेम्पलेट की जानकारी व्यक्तिगत डॉक्ब्लॉक्स में "संलग्न" हो रही है। ऊपर दिए गए उदाहरण में, आप अभी भी साझा आईडी के बजाए अन्य जानकारी के साथ $ आईडी पर एक और अन्य नंबर पर एक विशिष्ट डॉकब्लॉक डाल सकते हैं। परिणामी दस्तावेज़ों में, दोनों चर int intatype उठाएंगे। – ashnazg