354 of 410 menu

De __invoke-methode

De magische methode __invoke maakt het mogelijk dat een instantie van een klasse als een functie wordt aangeroepen. Wanneer een object als een functie wordt aangeroepen, roept PHP automatisch deze methode aan. De methode kan parameters accepteren en een waarde retourneren, net als een gewone functie.

Syntaxis

class MyClass { public function __invoke(...$args) { // implementatie } }

Voorbeeld

Laten we een klasse maken met de methode __invoke en het object als een functie aanroepen:

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

Resultaat van de code-uitvoering:

'Hallo, John!'

Voorbeeld

Gebruik van __invoke met meerdere parameters:

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

Resultaat van de code-uitvoering:

8

Voorbeeld

Controleren of een object aanroepbaar is met is_callable:

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

Resultaat van de code-uitvoering:

false true

Zie ook

  • methode __construct,
    die de constructor van de klasse is
  • methode __toString,
    die het mogelijk maakt dat een object als een string wordt weergegeven
Nederlands
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Wij gebruiken cookies voor de werking van de site, analyse en personalisatie. De verwerking van gegevens gebeurt volgens het Privacybeleid.
alles accepteren aanpassen weigeren