अगर अब तक मैं थोड़ा सा समझ में आता हूं अब मुझे एहसास है कि मुझे कुछ भी समझ में नहीं आता है। मैं बहुत उलझन में हूं और मैं समझने के लिए संघर्ष करता हूं और मैं नहीं कर सकता। कोई व्यक्ति स्वयं, अभिभावक, स्थैतिक और का उपयोग करते समय इस कार्यक्रम को समझा सकता है, इसके बिना मैं सबसे छोटा परिवर्तन करता हूं जिसके परिणामस्वरूप मैं समझ नहीं पा रहा हूं कि क्या हो रहा है। बहुत बहुत शुक्रिया ..स्वयं, माता-पिता, स्थैतिक और कैसे उपयोग करते समय?
कोड http://docs.php.net/language.oop5.late-static-bindings से
<?php
class A {
public static function foo() {
static::who();
}
public static function who() {
echo __CLASS__."\n";
}
}
class B extends A {
public static function test() {
A::foo();
parent::foo();
self::foo();
}
public static function who() {
echo __CLASS__."\n";
}
}
class C extends B {
public static function who() {
echo __CLASS__."\n";
}
}
C::test();
?>
बाहर डाल रहे हैं:
A
C
C
धन्यवाद और अधिक पढ़ें –
अजीब! मैंने सोचा होगा कि देर से संस्करण डिफ़ॉल्ट होगा, यानी मेरा बच्चा वर्ग एक विधि को परिभाषित करने के लिए परेशान क्यों होगा और फिर डिफ़ॉल्ट रूप से मूल संस्करण को कॉल करेगा? लेकिन मुझे किसी भी अवसर को याद नहीं किया जा सकता है जिस पर PHP मानकों की अपेक्षा की गई थी। – jsh
क्या कोई और बता सकता है। और 'स्थिर ::' बनाम 'स्वयं :: ' – Rafael