354 of 410 menu

Metóda __invoke

Magická metóda __invoke umožňuje inštancii triedy byť volaná ako funkcia. Keď je objekt volaný ako funkcia, PHP automaticky zavolá túto metódu. Metóda môže prijímať parametre a vracať hodnotu, ako obyčajná funkcia.

Syntax

class MyClass { public function __invoke(...$args) { // implementácia } }

Príklad

Vytvoríme triedu s metódou __invoke a zavoláme objekt ako funkciu:

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

Výsledok vykonania kódu:

'Hello, John!'

Príklad

Použitie __invoke s viacerými parametrami:

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

Výsledok vykonania kódu:

8

Príklad

Kontrola, či je objekt volateľný pomocou is_callable:

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

Výsledok vykonania kódu:

false true

Pozri tiež

  • metóda __construct,
    ktorá je konštruktorom triedy
  • metóda __toString,
    ktorá umožňuje objektu byť reprezentovaný ako reťazec
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
Používame cookies na fungovanie stránky, analýzu a personalizáciu. Spracúvanie údajov prebieha v súlade s Politikou ochrany osobných údajov.
prijať všetky nastaviť odmietnuť