Вызов метода с передачей аргументов массивом

# ReflectionMethod::invokeArgs

(PHP 5 >= 5.1.2, PHP 7, PHP 8)

ReflectionMethod::invokeArgs — Вызов метода с передачей аргументов массивом

### Описание

public function ReflectionMethod::invokeArgs(?object `$object`, array `$args`): mixed

Вызывает отражённый метод и передаёт ему аргументы в виде массива.

### Список параметров

`object`

  Объект, метод которого вызывается. Если метод статический, можно передать null.

`args`

  Массив (array), содержащий аргументы функции.

### Возвращаемые значения

Возвращает результат выполнения метода.

### Ошибки

Выбрасывает исключение ReflectionException, если в объекте `object` нет определения этого метода.

Выбрасывает исключение ReflectionException, если вызвать метод на исполнение не удалось.

### Список изменений

Версия | Описание
--- | ---
8.0.0 | Ключи `args` теперь интерпретируются как имена параметров, а не игнорируются.

### Примеры

Пример #1 Пример использования ReflectionMethod::invokeArgs()

    <?php
    class HelloWorld {

        public function sayHelloTo($name) {
            return 'Привет, ' . $name;
        }

    }

    $reflectionMethod = new ReflectionMethod('HelloWorld', 'sayHelloTo');
    echo $reflectionMethod->invokeArgs(new HelloWorld(), array('Майк'));
    ?>

Результат выполнения приведённого примера:

    Привет, Майк

### Примечания

> Замечание:

> Аргументы в списке, который передают в метод, должны быть ссылками, если у функции есть параметры, которые принимают аргументы по ссыкле.

### Смотрите также

- ReflectionMethod::invoke() - Вызов
- __invoke()
- call_user_func_array() - Вызывает callback-функцию с массивом параметров

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open