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
You can use reflection like:
$reflect = new ReflectionClass($class);
$instance = $reflect->newInstanceArgs($args);
As of PHP 5.6.0, the ... operator can also be used for this purpose.
$instance = new $class(...$args);
if(version_compare(PHP_VERSION, '5.6.0', '>=')){
$instance = new $class(...$args);
} else {
$reflect = new ReflectionClass($class);
$instance = $reflect->newInstanceArgs($args);
}