НОВИНКА!
Занимательная математика от Трепачёва. Присоединяйтесь к нам!
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 для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить