354 of 410 menu

Метод __invoke

Магични метод __invoke омогућава инстанци класе да буде позвана као функција. Када се објекат позове као функција, PHP аутоматски позива овај метод. Метод може да прихвата параметре и да враћа вредност, као обична функција.

Синтакса

class MyClass { public function __invoke(...$args) { // имплементација } }

Пример

Направимо класу са методом __invoke и позовимо објекат као функцију:

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

Резултат извршавања кода:

'Hello, John!'

Пример

Употреба __invoke са више параметара:

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

Резултат извршавања кода:

8

Пример

Провера да ли је објекат позивљив помоћу is_callable:

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

Резултат извршавања кода:

false true

Види такође

  • метод __construct,
    која је конструктор класе
  • метод __toString,
    која омогућава објекту да буде представљен у виду низа
Српски
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Користимо колачиће за рад сајта, аналитику и персонализацију. Обрада података се врши у складу са Политиком приватности.
прихвати све подеси одбиј