tags:

views:

91

answers:

1

How could I call the constructor of a class with call_user_func_array

It is not possible to do :

$obj = new $class();
call_user_func_array(array($obj, '__construct'), $args); 

because if the constructor has parameters, the new will fail.

Constraint : I do not control the classes that I have to instantiate, nor do I can modify them.

don't ask me why I want to do this crazy thing, this is a crazy test.

+9  A: 

You can use reflection like:

$reflect  = new ReflectionClass($class);
$instance = $reflect->newInstanceArgs($args);
salathe