इस पर एक त्रुटि फेंक एक त्रुटि फेंक देगा:बल पीएचपी अपरिभाषित संपत्ति
class foo
{
var $bar;
public function getBar()
{
return $this->Bar; // beware of capital 'B': "Fatal: unknown property".
}
}
लेकिन यह ऐसा नहीं करेंगे:
class foo
{
var $bar;
public function setBar($val)
{
$this->Bar = $val; // beware of capital 'B': silently defines a new prop "Bar"
}
}
मैं कैसे दोनों ही मामलों में त्रुटियों फेंक पीएचपी मजबूर कर सकते हैं? मैं दूसरे मामले को पहले की तुलना में अधिक महत्वपूर्ण मानता हूं (क्योंकि मुझे एक संपत्ति में डी .... नेड टाइपो खोजने के लिए 2 घंटे लग गए थे)।
यदि 'Bar' के माध्यम से' isset' –
परिभाषित किया गया है आप की जांच कर सकता है और क्या अगर यह नहीं है के अनुसार त्रुटि स्तर सेट कर सकते हैं? मुझे अभी भी पता नहीं है कि कक्षा में 'बार' परिभाषित नहीं है। –
खैर, कैमलकेस या लोअरकेस (या कुछ अन्य सम्मेलन) चुनें और फिर इसके साथ चिपके रहें। आप इसे लागू करने के लिए [PHP CodeSniffer ('phpcs')] (http://pear.php.net/package/PHP_CodeSniffer/redirected) जैसे कुछ उपयोग कर सकते हैं। साथ ही, गलत परिवर्तनीय नाम आपको एक पूरी तरह से समझने योग्य त्रुटि संदेश देंगे, जिसका उपयोग आप तुरंत पता लगाने के लिए कर सकते हैं कि त्रुटि कहां हुई। जादू विधियों का उपयोग '__get' और' __set' समस्या को हल कर सकता है, लेकिन किस कीमत पर? यह कोड को धीमा कर देगा, और यह समस्याओं के एक और सेट को जन्म दे सकता है। –