354 of 410 menu

Metoden __invoke

Den magiska metoden __invoke gör att en instans av en klass kan anropas som en funktion. När ett objekt anropas som en funktion, så anropar PHP automatiskt denna metod. Metoden kan ta parametrar och returnera ett värde, precis som en vanlig funktion.

Syntax

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

Exempel

Låt oss skapa en klass med metoden __invoke och anropa objektet som en funktion:

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

Resultat av kodkörning:

'Hello, John!'

Exempel

Användning av __invoke med flera parametrar:

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

Resultat av kodkörning:

8

Exempel

Kontrollera om ett objekt är anropsbart med hjälp av 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 av kodkörning:

false true

Se även

  • metoden __construct,
    som är klassens konstruktor
  • metoden __toString,
    som gör att objektet kan representeras som en sträng
Svenska
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Vi använder kakor för webbplatsens funktion, analys och personalisering. Behandling av data sker i enlighet med Integritetspolicyn.
acceptera alla anpassa avvisa