हां, क्लास के नाम के बजाय मैजिक फंक्शन __construct() का उपयोग करने के कई फायदे हैं। वे नीचे सूचीबद्ध हैं -
- जादू समारोह __construct PHP 5.4 में पेश किया गया है। क्लासनाम() पर कंस्ट्रक्टर के रूप में __construct() का उपयोग करने का एक फायदा यह है कि यदि आप क्लास का नाम बदलते हैं, तो आपको उस कंस्ट्रक्टर को अपडेट करने की आवश्यकता नहीं है जो DRY (स्वयं को दोहराएं) अवधारणा का समर्थन करता है।
- अगर आपके पास चाइल्ड क्लास है तो आप पैरेंट कंस्ट्रक्टर को आसान तरीके से कॉल करने के लिए पेरेंट ::__ कंस्ट्रक्ट () को कॉल कर सकते हैं।
उदाहरण
<?php class myclass{ public function __construct(){ echo 'The class "', __CLASS__, '" was initiated!'."\n"; } } class childclass extends myclass{ public function __construct() { parent::__construct(); print "In SubClass constructor "; } } $myobj = new childclass(); ?>
आउटपुट
The class "myclass" was initiated! In SubClass constructor
नोट
"__CLASS__" वह है जिसे जादू स्थिरांक कहा जाता है, जो इस मामले में, उस वर्ग का नाम लौटाता है जिसमें इसे कहा जाता है।
पुरानी शैली के निर्माणकर्ता PHP 7.0 में पदावनत हैं और भविष्य के संस्करण में हटा दिए जाएंगे। आपको हमेशा नए कोड में __construct() का उपयोग करना चाहिए।