354 of 410 menu

Metod __invoke

Magični metod __invoke omogućava instanci klase da bude pozvana kao funkcija. Kada se objekat poziva kao funkcija, PHP automatski poziva ovaj metod. Metod može da prima parametre i vraća vrednost, kao obična funkcija.

Sintaksa

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

Primer

Napravićemo klasu sa metodom __invoke i pozvaćemo objekat kao funkciju:

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

Rezultat izvršavanja koda:

'Hello, John!'

Primer

Upotreba __invoke sa više parametara:

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

Rezultat izvršavanja koda:

8

Primer

Provera da li je objekat pozivljiv pomoću 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 izvršavanja koda:

false true

Vidi takođe

  • metod __construct,
    koji je konstruktor klase
  • metod __toString,
    koji omogućava da objekat bude predstavljen u vidu stringa
Srpski
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Koristimo kolačiće za rad sajta, analitiku i personalizaciju. Obrada podataka se vrši u skladu sa Politikom privatnosti.
prihvati sve podesi odbij