Pass arguments from array in php to constructor

16,864

You can use the Reflection API:

Example:

$reflector = new ReflectionClass('Foo');
$foo = $reflector->newInstanceArgs(array('foo', 'bar'));
Share:
16,864
Agrajag
Author by

Agrajag

Hacker. Activist. Outdoor enthusiast.

Updated on June 03, 2022

Comments

  • Agrajag
    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 ?