হ্যাঁ, ক্লাসের নামের পরিবর্তে ম্যাজিক ফাংশন __construct() ব্যবহার করার বেশ কিছু সুবিধা রয়েছে। সেগুলি নীচে তালিকাভুক্ত -
৷- ম্যাজিক ফাংশন __construct পিএইচপি 5.4 এ চালু করা হয়েছে। কন্সট্রাক্টর হিসেবে ClassName() এর উপর __construct() ব্যবহার করার একটি সুবিধা হল আপনি যদি ক্লাসের নাম পরিবর্তন করেন, তাহলে আপনাকে কনস্ট্রাক্টর আপডেট করতে হবে না যা DRY(নিজেকে পুনরাবৃত্তি করবেন না) ধারণা সমর্থন করে।
- আপনার যদি একটি চাইল্ড ক্লাস থাকে তাহলে আপনি অভিভাবককে কল করতে পারেন::__construct()একটি সহজ উপায়ে অভিভাবক কন্সট্রাক্টরকে কল করতে।
উদাহরণ
<?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() ব্যবহার করা উচিত।