У меня есть функция, которая берет variadic аргументы, из которых я получаю func_get_args()
.
Эта функция должна вызвать конструктора с теми аргументами. Однако я не знаю, как сделать это.
С call_user_func
, можно ли вызвать функции с массивом аргументов, но как Вы вызвали бы конструктора от него? Я не могу только передать массив аргументов ему; это должно полагать, что я называл его "обычно".
Спасибо!
Для PHP < 5.3 это нелегко сделать без предварительного создания экземпляра класса с помощью call_user_func_array
. Однако с Reflection
это довольно тривиально:
$reflection = new ReflectionClass( 'yourClassName' );
$instance = $reflection->newInstanceArgs( $yourArrayOfConstructorArguments );