354 of 410 menu

Metoden __invoke

Den magiske metoden __invoke lar en instans av en klasse bli kalt som en funksjon. Når et objekt kalles som en funksjon, vil PHP automatisk kalle denne metoden. Metoden kan ta parametere og returnere en verdi, akkurat som en vanlig funksjon.

Syntaks

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

Eksempel

La oss opprette en klasse med metoden __invoke og kalle objektet som en funksjon:

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

Resultat av kjøring av koden:

'Hello, John!'

Eksempel

Bruk av __invoke med flere parametere:

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

Resultat av kjøring av koden:

8

Eksempel

Sjekk om et objekt er kallbart ved hjelp 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 kjøring av koden:

false true

Se også

  • metoden __construct,
    som er konstruktøren til klassen
  • metoden __toString,
    som lar et objekt bli representert som en streng
Norsk
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Vi bruker informasjonskapsler for nettstedets funksjonalitet, analyse og personalisering. Behandling av data foregår i henhold til Personvernerklæringen.
godta alle tilpass avvis