354 of 410 menu

Metodas __invoke

Magiškas metodas __invoke leidžia klasės egzemplioriui būti iškviestam kaip funkcijai. Kai objektas iškviečiamas kaip funkcija, PHP automatiškai iškviečia šį metodą. Metodas gali priimti parametrus ir grąžinti reikšmę, kaip įprasta funkcija.

Sintaksė

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

Pavyzdys

Sukurkime klasę su metodu __invoke ir iškviškime objektą kaip funkciją:

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

Kodo vykdymo rezultatas:

'Hello, John!'

Pavyzdys

__invoke naudojimas su keliais parametrais:

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

Kodo vykdymo rezultatas:

8

Pavyzdys

Patikrinimas, ar objektas yra iškviečiamas naudojant is_callable:

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

Kodo vykdymo rezultatas:

false true

Taip pat žiūrėkite

  • metodas __construct,
    kuri yra klasės konstruktorius
  • metodas __toString,
    kuri leidžia objektui būti pateiktam kaip eilutė
Lietuvių
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Mes naudojame slapukus svetainės veikimui, analizei ir personalizavimui. Duomenų apdorojimas vyksta pagal Privatumo politiką.
priimti visus nustatyti atšaukti