marmota
Новичок
Добрый день.
Необходимо вызвать метод invoke() объекта класса ReflectionFunction, передав ему заранее неизвестное число параметров, хранящихся в массиве. При попытке использовать call_user_func_array вылазит ошибка Non-static method ReflectionFunction::testFunc() cannot be called statically. Подскажите, пожалуйста, как решить задачу.
Необходимо вызвать метод invoke() объекта класса ReflectionFunction, передав ему заранее неизвестное число параметров, хранящихся в массиве. При попытке использовать call_user_func_array вылазит ошибка Non-static method ReflectionFunction::testFunc() cannot be called statically. Подскажите, пожалуйста, как решить задачу.
PHP:
<?php
function testFunc($str)
{
echo $str;
}
$funcName = 'testFunc';
$str = 'Hello, world!';
$func = new ReflectionFunction($funcName);
//
// Вызов метода invoke напрямую работает:
// $func->invoke($str);
// В результате корректно выполняется testFunc('Hello world!');
//
// А здесь вылазит ошибка
call_user_func(array($func, 'invoke'), $str);
?>