PHP Object Oriented Programming
PHP Object Oriented Programming পর্ব-৪: Constructor Method and Destructor Methods
PHP তে Constructor Method কি?
Class থেকে নতুন কোনো object তৈরী হওয়ার সময় যে মেথড স্বয়ংক্রিয় ভাবে এবং সবার আগে execute হয়, PHP তে তাকে constructor Method বলে। PHP তে Constructor Method একটি PHP Language কর্তৃক Pre-defined Public Method অর্থাৎ PHP language কর্তৃক পূর্ব নির্ধারিত Public Method , যা public function এর পর একসাথে দুইবার underscore (__) দেওয়ার পর construct কথাটি লিখতে হয় অর্থাৎ public function __construct() নাম দিয়ে লিখতে হয়। নিচের উদাহরণ দেখুন :
<?php class oop{ public function __construct(){ echo "Welcome to PHP World!"; } public function sayHello(){ echo "Hello World"; } } $obj=new oop; /* Now Automatically Execute __construct Method And Will show "Welcome to PHP World " First.*/ echo "<br>"; $obj->sayHello(); // Result: Hello World ?>
Result:
Welcome to PHP World Hello World
Constructor Method এর Parameter এ কিভাবে Argument পাঠাবো?
যদি কোনো class এর Constructor Method এ Parameter দেওয়া থাকে, তাহলে সেই Constructor Method এ Argument পাঠাতে হলে class object এর সাথে parenthesis “( )” দিয়ে আর্গুমেনট পাঠাতে হবে। নিচের উদাহরণ দেখুন :
class Car { private $model; //__construct public function __construct ($model) { $this -> model = $model; } public function getCarModel() { return ' The car model is: ' . $this -> model; } } //We pass the value of the variable once we create the object $car1 = new Car("Mercedes"); // Passing Argument to Constructor Parameter echo $car1 -> getCarModel();
Result
The car model is: Mercedes.
PHP তে Destructor Method কি?
Object এর কাজ শেষ হওয়ার সময় class এর মধ্যে যে মেথড স্বয়ংক্রিয় ভাবে execute হয় বা সবার শেষে execute হয়, PHP তে তাকে Destructor Method বলে। PHP তে Destructor Method একটি PHP Language কর্তৃক Pre-defined Public Method অর্থাৎ PHP language কর্তৃক পূর্ব নির্ধারিত Public Method , যা public function এর পর একসাথে দুইবার underscore (__) দেওয়ার পর destruct কথাটি লিখতে হয় অর্থাৎ public function __destruct() নাম দিয়ে লিখতে হয়। নিচের উদাহরণ দেখুন :
<?php class oop{ public function __construct(){ echo "Welcome to PHP World!"; } public function sayHello(){ echo "Hello World"; } public function __destruct(){ echo "<br>I'm about to disappear - bye bye!"; } } $obj=new oop; echo "<br>"; $obj->sayHello(); ?>
Result:
Welcome to PHP World! Hello World I'm about to disappear - bye bye!
PHP তে Destructor Method কোনো argument receive করতে পারে ?
না পারেনা এবং সেটার দরকার ও নাই। তবে অন্য যেকোনো method দিয়ে Argument Receive করে যেকোনো property তে রেখে সেই property কে constructor Method দিয়ে রিটার্ন করতে পারবেন। নিচের উদাহরণ টি দেখুন :
<?php class oop{ private $name; public function __construct($val){ return $this->name=$val; } public function sayHello(){ echo "Hello World"; } public function __destruct(){ echo "<br>Bye bye $this->name!"; } } $obj=new oop("Imran"); echo "<br>"; $obj->sayHello(); ?>
Result
Hello World Bye Bye Imran!
PHP তে Destructor Method কেন ব্যবহার করবো?
কোনো কিছু fininshing বা শেষ করতে চাইলে destructor Method ব্যবহার করা হয়, যেমন : file closing, Database Connection closing এবং Session Destroy এর মতো কাজগুলো Destructor Method দিয়ে করা হয়।