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 ?
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'));
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With