If tutorials available on this website are helpful for you, please whitelist this website in your ad blocker😭 or Donate to help us ❤️ pay for the web hosting to keep the website running.

Magic Methods In PHP
PHP में जब भी हम Object-Oriented Programming (OOP) का use करते हैं, हमें काफी sari built-in features मिलती हैं जो हमारे code को ज़्यादा flexible और powerful बनाती हैं।
उन्ही features में से एक है Magic Methods. Magic methods PHP में special methods होते हैं जो किसी object के life cycle के certain moments पर automatically invoke होते हैं।
अगर आप PHP developer हैं, तो आपको magic methods के बारे में अच्छे से समझना चाहिए। यह methods आपको flexibility देते हैं, आपको code को ज़्यादा readable और maintainable बनाने में help करते हैं।
इस blog में, हम Magic Methods को detail में समझेंगे, उनका use कैसे करते हैं, और कौन common magic methods हैं जो आपको जरूरी हैं।
●●●
PHP में Magic Methods उन special methods को कहा जाता है जो automatically invoke होते हैं जब कोई specific condition meet होती है। यह methods mostly आपके objects के lifecycle के time call होते हैं, जैसे object को create करते वक्त, object के properties को access करते वक्त, या object को string में convert करते वक्त।
यह methods एक specific syntax follow करते हैं, हर magic method का नाम __ (double underscore) से start होता है।
Purpose : यह method class का constructor होता है, जब आप class का object बनाते हो, तो __construct() method automatically call होता है।
For example
class Car {
private $model;
// Constructor Method
public function __construct($model) {
$this->model = $model;
echo "Car model is " . $this->model;
}
}
// Object creation
$car = new Car("Toyota");Explanation : जब आप new Car("Toyota") लिखते हैं, तो __construct() method call होता है और "Car model इस Toyota" print होता है।
Read more about classes & objects
Purpose : यह method object के destroy hone से पहले call होता है। जब object को destroy किया जाता है, तो PHP automatically __destruct() method को call करता है।
यह method usually resources को free करने के लिए use होता है।
Usage Example :
class Car {
public function __construct() {
echo "Object created.";
}
// Destructor Method
public function __destruct() {
echo "Object destroyed.";
}
}
$car = new Car(); // Object created.
unset($car); // Object destroyed.यह method dynamically call किये गए methods को handle करता है, अगर आपने कोई method define नहीं किया और आप उस method को call करते हो, तो __call() method automatically trigger होता है।
Usage Example:
class Car {
public function __call($method, $args) {
echo "Method $method is called with arguments: " . implode(', ', $args);
}
}
$car = new Car();
$car->startEngine('key', 'ignition'); // Calls __call() methodExplanation : जब आप $car->startEngine('key', 'ignition') call करते हो, जो method class में exist नहीं करता, __call() method trigger होता है और "Method startEngine इस called with arguments: key, ignition" print होता है।
यह method तब call होता है जब आप object के किसी undefined property को access करते हैं। अगर आप कोई property directly access करते हो जो class में defined नहीं है, तब __get() method execute होता है।
Usage Example :
class Car {
private $model = "Toyota";
public function __get($name) {
echo "Trying to access undefined property: $name";
}
}
$car = new Car();
echo $car->color; // Calls __get() methodयह method तब call होता है जब आप object के किसी undefined property को set करने कि कोशिश करते हैं।
Usage Example :
class Car {
private $model;
public function __set($name, $value) {
echo "Setting value of $name to $value";
}
}
$car = new Car();
$car->color = "Red"; // Calls __set() methodयह method तब call होता है जब आप किसी undefined property को check करते हो, जैसे isset() या empty() functions का use करते हैं।
Usage Example :
class Car {
private $model = "Toyota";
public function __isset($name) {
echo "Checking if property $name exists.";
}
}
$car = new Car();
isset($car->color); // Calls __isset() methodयह method तब call होता है जब आप object को string के form में print करने कि कोशिश करते हैं। यह method object को एक readable string में convert करने का काम करता है।
Usage Example :
class Car {
private $model = "Toyota";
public function __toString() {
return "Car model is: " . $this->model;
}
}
$car = new Car();
echo $car; // Calls __toString() method●●●
Dynamic Behavior : Magic methods आपको उन scenarios को handle करने कि flexibility देते हैं जहाँ आपको normally error मिलती। जैसे, अगर आप कोई undefined method call कर रहे हो या कोई property access कर रहे हो जो class में exist नहीं करती, तो magic methods का use करके आप इन scenarios को handle कर सकते हैं बिना ज़्यादा code लिखे ।
Flexibility : Magic methods से आप अपने code को ज़्यादा flexible बना सकते हैं। जैसे, __get() और __set() methods आपको यह allow करते हैं के आप object कि properties को dynamically handle कर सकें।
Cleaner Code : Magic methods का use करने से आपका code ज़्यादा clean और elegant होता है। अगर आपको manually property को check करने कि need नहीं होती या methods को call करते वक्त errors को handle करने कि need नहीं होती, तो आप अपने code को efficient बना सकते हैं।
●●●
Magic Methods PHP में आपके code को ज़्यादा flexible, maintainable, और powerful बनाते हैं। अगर आप PHP के OOP concepts को efficiently use करना चाहते हैं, तो आपको magic methods के बारे में अच्छे से समझना जरूरी है।
इन methods का use आपको proper class behavior customize करने, debugging के लिए, और complex scenarios को handle करने में help करेगा।
Loading ...