354 of 410 menu

Metoden __invoke

Den magiske metode __invoke gør det muligt for en instans af en klasse at blive kaldt som en funktion. Når et objekt kaldes som en funktion, kalder PHP automatisk denne metode. Metoden kan tage parametre og returnere en værdi, som en almindelig funktion.

Syntaks

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

Eksempel

Lad os oprette en klasse med metoden __invoke og kalde objektet som en funktion:

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

Resultat af kodeudførelse:

'Hej, John!'

Eksempel

Brug af __invoke med flere parametre:

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

Resultat af kodeudførelse:

8

Eksempel

Tjek om et objekt er kaldeligt ved hjælp af is_callable:

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

Resultat af kodeudførelse:

false true

Se også

  • metoden __construct,
    som er klassens konstruktør
  • metoden __toString,
    som gør det muligt for et objekt at blive repræsenteret som en streng
Dansk
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Vi bruger cookies til webstedets funktion, analyse og personalisering. Behandling af data foregår i henhold til Fortrolighedspolitikken.
accepter alle tilpas afvis