Pass arguments from array in php to constructor
16,864
You can use the Reflection API:
-
ReflectionClass::newInstanceArgs
— Creates a new class instance from given arguments.
Example:
$reflector = new ReflectionClass('Foo');
$foo = $reflector->newInstanceArgs(array('foo', 'bar'));
Comments
-
Agrajag about 2 years
Normally, if I want to pass arguments from $myarray to $somefunction I can do this in php using
call_user_func_array($somefunction, $myarray);
However this does not work when the function one wishes to call is the constructor for an object. For fairly obvious reasons it does not work to do:
$myobj = new call_user_func_array($classname, $myarray);
is there something fairly elegant that does work ?