sobrecarga que overload metodo ejemplos constructores __construct php constructor

que - Cómo llamar al constructor con call_user_func_array en PHP



que es un constructor en php (1)

¿Cómo podría llamar al constructor de una clase con call_user_func_array

No es posible hacer:

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

porque si el constructor tiene parámetros, el nuevo fallará.

Restricción: No controlo las clases que tengo que instanciar, ni puedo modificarlas.

No me preguntes por qué quiero hacer esta locura, esta es una prueba loca.


Puedes usar la reflection como:

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

A partir de PHP 5.6.0, el operador ... también se puede utilizar para este propósito.

$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); }