通常,如果我想将$ myarray中的参数传递给$ somefunction,我可以在php中使用
call_user_func_array($somefunction, $myarray);
但是,当希望调用的函数是对象的构造函数时,这不起作用。出于相当明显的原因,它无法做到:
$myobj = new call_user_func_array($classname, $myarray);
是否有一些相当优雅的可以正常工作?
答案 0 :(得分:63)
您可以使用Reflection API:
ReflectionClass::newInstanceArgs
- 从给定的参数创建一个新的类实例。示例:
$reflector = new ReflectionClass('Foo');
$foo = $reflector->newInstanceArgs(array('foo', 'bar'));