2010-05-27 18 views
10

मुझे आश्चर्य है कि हम इस तरह के असाइनमेंट को क्या कहते हैं।हम इसे क्या कहते हैं?

<?php 
class SimpleClass 
{ 
    public $var1; 
    public $var2; 
    public $var3; 

    public function SimpleClass() 
    { 
     $this->var1 = 'one'; 
     $this->var2 = 'two'; 
     $this->var3 = 'three'; 
    } 
} 

function test() 
{ 
    $objSc = new SimpleClass(); 
    $objSc->var4 = 'WTF?!'; # <-- what do we call this? 
    var_dump($objSc); 
} 

test(); 
?> 

संदर्भ या लिंक के साथ बेहतर। अग्रिम में धन्यवाद!

संपादित करें: मैं इसके लिए एक तकनीकी शब्द की तलाश में हूं ... अच्छा, अगर हमारे पास है।

उत्तर

10

मेरा मानना ​​है कि यह अधिभारित है।

PHP में ओवरलोडिंग गतिशील रूप से गुणों और विधियों को "बनाना" प्रदान करता है। इन गतिशील इकाइयों को जादू विधियों के माध्यम से संसाधित किया जाता है जो विभिन्न कार्यों के प्रकार के लिए कक्षा में स्थापित कर सकते हैं।

ओवरलोडिंग विधियों को उन संपत्तियों या विधियों के साथ बातचीत करते समय लागू किया जाता है जिन्हें घोषित नहीं किया गया है या वर्तमान दायरे में दिखाई नहीं दे रहे हैं।

PHP मैनुअल संदर्भ here

+2

'$ objSc' ऑब्जेक्ट की' var4' प्रॉपर्टी सेट करने के लिए कॉल __set() जादू विधि के माध्यम से जाता है जिसे आप स्वयं भी अन्य चीजों को करने के लिए सेट कर सकते हैं। मैनुअल उद्धृत करने के लिए –

+0

+1। – Mizipzor

1

आप $objSc ऑब्जेक्ट की एक स्वतंत्र संपत्ति सेट कर रहे हैं।

2

यह बताए है स्ट्रिंग SimpleClass की एक सार्वजनिक दायरे चर कोWTF?!। आप इसे var_dump है, यह उत्पादन सही ढंग से के रूप में दिखाता है:

string(5) "WTF?!" 

और जैसा कि @marcdev ने कहा, यह अधिक भार के रूप में जाना जाता है।

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

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