354 of 410 menu

Njia __invoke

Njia ya kichawi __invoke huruhusu mfano wa darasa kuitwa kama kitendo. Wakati kitu kikiitwa kama kitendo, PHP automatikali huita njia hii. Njia inaweza kukubali vigezo na kurudisha thamani, kama kitendo cha kawaida.

Syntax

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

Mfano

Tutengeneze darasa lenye njia __invoke na tuite kitu kama kitendo:

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

Matokeo ya kutekeleza kodi:

'Hello, John!'

Mfano

Matumizi ya __invoke na vigezo vingi:

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

Matokeo ya kutekeleza kodi:

8

Mfano

Kukagua ikiwa kitu kinaweza kutekelezwa kwa kutumia is_callable:

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

Matokeo ya kutekeleza kodi:

false true

Angalia Pia

  • njia __construct,
    ambayo ni mkabidhi wa darasa
  • njia __toString,
    ambayo huruhusu kitu kuwakilishwa kama mfuatano wa herufi
Kiswahili
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Tunatumia kuki kwa ajili ya uendeshaji wa tovuti, uchambuzi na ubinafsishaji. Usindikaji wa data unafanyika kulingana na Sera ya Faragha.
kubali yote sanidi kataa