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 файлдарын колдонобуз. Маалыматтарды иштетүү Маалыматты коргоо саясаты боюнча жүргүзүлөт.
баарын кабыл алуу ыңгайлаштыруу четке кагуу