ReflectionMethod::invokeArgs

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

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

Описание

public 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('Майк'));
?>

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

Привет, Майк

Примечания

Замечание:

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

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