2011-03-04 12 views
5

मैं एक स्क्रिप्ट बनाने की कोशिश कर रहा हूं जो PHP 5.2 सर्वर पर PHP 5.3 कार्य के लिए बनाया गया है। लिपि बहुत देर से स्थिर बाध्यकारी का उपयोग करता है जैसे:PHP 5.2 देर स्टेटिक बाध्यकारी (नई स्थैतिक) के बराबर है?

return new static($options); 

PHP 5.2 में इसके बराबर क्या है? क्या यह किसी भी तरह से नया आत्म होगा? या यह एक ही प्रभाव को प्राप्त करने ...

धन्यवाद

संभव नहीं है

संपादित करें:

यहाँ एक संबंधित सवाल New self vs. new static

juts इस देर स्थिर आसपास मेरे सिर लपेटो करने की कोशिश कर रहा है बाध्यकारी सामान ...

+4

से अधिक get_class समारोह का उपयोग कर कोई बराबर मुझे डर लग रहा है से, देर से बाध्यकारी स्थिर केवल पीएचपी 5.3 में पेश किया गया था। – Robin

+0

यह सिंगलोनिटिस की तरह दिखता है: एक्स – KingCrunch

+0

@Robin की तरह, कोई समकक्ष नहीं है। शायद get_class() आपको एक समान परिणाम प्राप्त करने में मदद कर सकता है? – noun

उत्तर

-1

मुझे लगता है कि एकमात्र तरीका एक संरक्षित स्थैतिक विधि से गुज़रना है जो आपके सिंगलटन और सार्वजनिक स्थैतिक विधि का निर्माण करता है जो वर्ग को उपयोग करने के लिए परिभाषित करता है। आप "अनुकरण" कर सकते हैं यह $ इस

class ParentClass{ 
    protected static function getInstance2($className){ 
     //some stuffs here 
     return new $className(); 
    } 
    public static function getInstance(){ 
     return self::getInstance2(get_class(self)); 
    } 
} 
class ChildClass extends ParentClass{ 
    public static function getInstance(){ 
     return self::getInstance2(get_class(self)); 
    } 
} 
संबंधित मुद्दे