354 of 410 menu

Metoda __invoke

Metoda magică __invoke permite unei instanțe de clasă să fie apelată ca o funcție. Când un obiect este apelat ca o funcție, PHP apelează automat această metodă. Metoda poate accepta parametri și poate returna o valoare, la fel ca o funcție obișnuită.

Sintaxă

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

Exemplu

Să creăm o clasă cu metoda __invoke și să apelăm obiectul ca funcție:

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

Rezultatul executării codului:

'Hello, John!'

Exemplu

Utilizarea __invoke cu mai mulți parametri:

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

Rezultatul executării codului:

8

Exemplu

Verificarea dacă un obiect este apelabil folosind is_callable:

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

Rezultatul executării codului:

false true

Vezi și

  • metoda __construct,
    care este constructorul clasei
  • metoda __toString,
    care permite ca un obiect să fie reprezentat sub formă de șir de caractere
Română
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Folosim cookie pentru funcționarea site-ului, analiză și personalizare. Prelucrarea datelor are loc în conformitate cu Politica de confidențialitate.
acceptă toate configurează respinge