হ্যাঁ, ক্লাসের নামের পরিবর্তে ম্যাজিক ফাংশন __construct() ব্যবহার করার একাধিক সুবিধা আছে। নিচে সেগুলো দেওয়া হলো:
- ম্যাজিক ফাংশন
__constructPHP 5.4-এ আনা হয়েছে।__construct()ব্যবহার করার একটি সুবিধা হলো যদি আপনি ক্লাসের নাম পরিবর্তন করেন, তবে কনস্ট্রাক্টর আপডেট করতে হবে না যা DRY (Don't Repeat Yourself) কনসেপ্টকে সমর্থন করে। - যদি আপনার চাইল্ড ক্লাস থাকে, তবে
parent::__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-এ DEPRECATED এবং ভবিষ্যতে সরানো হবে। নতুন কোডে সবসময় __construct() ব্যবহার করা উচিত।