354 of 410 menu

Metoda __invoke

Magična metoda __invoke omogoča, da primerek razreda kličemo kot funkcijo. Ko je objekt poklican kot funkcija, PHP samodejno pokliče to metodo. Metoda lahko sprejme parametre in vrne vrednost, kot običajna funkcija.

Sintaksa

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

Primer

Ustvarimo razred z metodo __invoke in pokličimo objekt kot funkcijo:

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

Rezultat izvajanja kode:

'Hello, John!'

Primer

Uporaba __invoke z več parametri:

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

Rezultat izvajanja kode:

8

Primer

Preverjanje, ali je objekt klicen s pomočjo is_callable:

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

Rezultat izvajanja kode:

false true

Glejte tudi

  • metoda __construct,
    ki je konstruktor razreda
  • metoda __toString,
    ki omogoča, da je objekt predstavljen kot niz
Slovenščina
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Za delovanje spletnega mesta, analitiko in personalizacijo uporabljamo piškotke. Obdelava podatkov poteka v skladu s Politiko zasebnosti.
sprejmi vse nastavi zavrni