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ščinaShqipСрпскиSrpskiSvenskaKiswahiliไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Мо барои коркарди сомона, таҳлил ва шахсӣ кардан аз cookie истифода мебарем. Коркарди маълумот мувофиқи Сиёсати махфият сурат мегирад.
ҳамаро қабул кардан танзим кардан рад кардан