2012-05-14 7 views
7

__construct कन्स्ट्रक्टर का उपयोग करते समय और कक्षा के नाम का उपयोग करते समय PHP कक्षाओं में अंतर क्या है?PHP में दो प्रकार के क्लास कन्स्ट्रक्टर के बीच क्या अंतर है?

उदाहरण के लिए:

class Some 
{ 
    public function __construct($id) 
    { 
      .... 
    } 
    .... 
} 

या

class Some 
{ 
     public function Some($id) 
     { 
      .... 
     } 
     .... 
} 

उत्तर

13

शीर्ष नया तरीका यह संस्करण 5.0 के रूप में PHP में किया जाता है और कैसे सभी नए कोड लिखा जाना चाहिए है। उत्तरार्द्ध पुराना PHP 4 तरीका है और अप्रचलित है। किसी बिंदु पर इसे पूरी तरह से हटा दिया जाएगा और PHP से पूरी तरह से हटा दिया जाएगा।

अद्यतन

As of PHP 5.3.3, एक namespaced वर्ग के नाम का अंतिम तत्व के रूप में एक ही नाम के साथ तरीकों अब निर्माता के रूप में माना जाएगा। यह परिवर्तन गैर-नामित कक्षाओं को प्रभावित नहीं करता है।

<?php 
namespace Foo; 
class Bar { 
    public function Bar() { 
     // treated as constructor in PHP 5.3.0-5.3.2 
     // treated as regular method as of PHP 5.3.3 
    } 
} 
?> 
+1

[PHP मैनुअल] (http://php.net/manual/en/language.oop5.decon.php) के अनुसार पहले ही 5.3.3 में बहिष्कृत कर दिया गया है। उदाहरण के लिए धन्यवाद # 2 – mseancole

+0

धन्यवाद। मैं तदनुसार अपना जवाब अपडेट करूंगा। –

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