354 of 410 menu

Metoda __invoke

Magická metoda __invoke umožňuje instanci třídy být volána jako funkce. Když je objekt volán jako funkce, PHP automaticky zavolá tuto metodu. Metoda může přijímat parametry a vracet hodnotu, jako obyčejná funkce.

Syntaxe

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

Příklad

Vytvoříme třídu s metodou __invoke a zavoláme objekt jako funkci:

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

Výsledek provedení kódu:

'Hello, John!'

Příklad

Použití __invoke s několika parametry:

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

Výsledek provedení kódu:

8

Příklad

Kontrola, zda je objekt volatelný pomocí 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ýsledek provedení kódu:

false true

Viz také

  • metoda __construct,
    která je konstruktorem třídy
  • metoda __toString,
    která umožňuje objektu být reprezentován jako řetězec
Čeština
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяDanskDeutschΕλληνικά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
Používáme soubory cookie pro fungování webu, analýzu a personalizaci. Zpracování údajů probíhá v souladu s Zásadami ochrany osobních údajů.
přijmout vše přizpůsobit odmítnout