Подтвердить что ты не робот

Передавать аргументы из массива в php для конструктора

Обычно, если я хочу передать аргументы из $myarray в $somefunction, я могу сделать это в php, используя

call_user_func_array($somefunction, $myarray);

Однако это не работает, когда функция, которую вы хотите вызвать, является конструктором для объекта. По вполне очевидным причинам это не сработает:

$myobj = new call_user_func_array($classname, $myarray);

Есть ли что-то довольно элегантное, что работает?

4b9b3361

Ответ 1

Вы можете использовать API Reflection:

Пример:

$reflector = new ReflectionClass('Foo');
$foo = $reflector->newInstanceArgs(array('foo', 'bar'));