354 of 410 menu

__invoke मेथड

मैजिक मेथड __invoke क्लास के इंस्टेंस को एक फ़ंक्शन की तरह कॉल किए जाने की अनुमति देता है। जब किसी ऑब्जेक्ट को फ़ंक्शन की तरह कॉल किया जाता है, तो PHP स्वचालित रूप से इस मेथड को कॉल करता है। यह मेथड पैरामीटर ले सकता है और मान वापस कर सकता है, जैसे एक सामान्य फ़ंक्शन।

सिंटैक्स

class MyClass { public function __invoke(...$args) { // कार्यान्वयन } }

उदाहरण

आइए __invoke मेथड वाली एक क्लास बनाएं और ऑब्जेक्ट को फ़ंक्शन की तरह कॉल करें:

<?php class Greeter { public function __invoke($name) { return "Hello, $name!"; } } $greet = new Greeter(); echo $greet('John'); ?>

कोड निष्पादन का परिणाम:

'Hello, John!'

उदाहरण

कई पैरामीटर्स के साथ __invoke का उपयोग:

<?php class Calculator { public function __invoke($a, $b) { return $a + $b; } } $calc = new Calculator(); echo $calc(5, 3); ?>

कोड निष्पादन का परिणाम:

8

उदाहरण

is_callable का उपयोग करके यह जांचना कि क्या ऑब्जेक्ट कॉल करने योग्य है:

<?php class Test {} $obj1 = new Test(); $obj2 = new class { public function __invoke() {} }; var_dump(is_callable($obj1)); var_dump(is_callable($obj2)); ?>

कोड निष्पादन का परिणाम:

false true

यह भी देखें

  • मेथड __construct,
    जो क्लास का कंस्ट्रक्टर है
  • मेथड __toString,
    जो ऑब्जेक्ट को स्ट्रिंग के रूप में प्रस्तुत करने की अनुमति देती है
हिन्दी
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
हम साइट के कार्य, विश्लेषण और व्यक्तिगतकरण के लिए कुकीज़ का उपयोग करते हैं। डेटा प्रसंस्करण गोपनीयता नीति के अनुसार किया जाता है।
सभी स्वीकार करें कॉन्फ़िगर करें अस्वीकार करें