__invoke मेथड
मैजिक मेथड __invoke क्लास के इंस्टेंस को एक फ़ंक्शन की तरह कॉल किए जाने की अनुमति देता है।
जब किसी ऑब्जेक्ट को फ़ंक्शन की तरह कॉल किया जाता है, तो PHP स्वचालित रूप से इस मेथड को कॉल करता है।
यह मेथड पैरामीटर ले सकता है और मान वापस कर सकता है, जैसे एक सामान्य फ़ंक्शन।
सिंटैक्स
phpclass MyClass {
public function __invoke(...$args) {
// कार्यान्वयन
}
}
उदाहरण
आइए __invoke मेथड वाली एक क्लास बनाएं और ऑब्जेक्ट को फ़ंक्शन की तरह कॉल करें:
php<?php
class Greeter {
public function __invoke($name) {
return "Hello, $name!";
}
}
$greet = new Greeter();
echo $greet('John');
?>
कोड निष्पादन का परिणाम:
php'Hello, John!'
उदाहरण
कई पैरामीटर्स के साथ __invoke का उपयोग:
php<?php
class Calculator {
public function __invoke($a, $b) {
return $a + $b;
}
}
$calc = new Calculator();
echo $calc(5, 3);
?>
कोड निष्पादन का परिणाम:
php8
उदाहरण
is_callable का उपयोग करके यह जांचना कि क्या ऑब्जेक्ट कॉल करने योग्य है:
php<?php
class Test {}
$obj1 = new Test();
$obj2 = new class { public function __invoke() {} };
var_dump(is_callable($obj1));
var_dump(is_callable($obj2));
?>
कोड निष्पादन का परिणाम:
phpfalse
true
यह भी देखें
-
मेथड
__construct,
जो क्लास का कंस्ट्रक्टर है -
मेथड
__toString,
जो ऑब्जेक्ट को स्ट्रिंग के रूप में प्रस्तुत करने की अनुमति देती है