Обычно, если я хочу передать аргументы из $ myarray в $ somefunction, я могу сделать это в php, используя
call_user_func_array($somefunction, $myarray);
Однако это не работает, когда функция, которую вы хотите вызвать, является конструктором для объекта. По вполне очевидным причинам это не сработает:
$myobj = new call_user_func_array($classname, $myarray);
есть ли что-то довольно элегантное, что работает ?
Вы можете использовать API Reflection:
ReflectionClass::newInstanceArgs
– создает новый экземпляр класса из заданных аргументов. Пример:
$reflector = new ReflectionClass('Foo'); $foo = $reflector->newInstanceArgs(array('foo', 'bar'));