PHP: cómo crear una instancia de una clase con argumentos dentro de otra clase

Estoy en una situación en la que necesito crear una instancia de una clase con argumentos dentro de una instancia de otra clase. Aquí está el prototipo:

//test.php

class test
{
    function __construct($a, $b, $c)
    {
        echo $a . '<br />';
        echo $b . '<br />';
        echo $c . '<br />';
    }
}

Ahora, necesito crear una instancia de la clase anterior usando la clase de abajocls función:

class myclass
{
function cls($file_name, $args = array())
{
    include $file_name . ".php";

    if (isset($args))
    {
        // this is where the problem might be, i need to pass as many arguments as test class has.
        $class_instance = new $file_name($args);
    }
    else
    {
        $class_instance = new $file_name();
    }

    return $class_instance;
}
}

Ahora cuando intento crear una instancia de clase de prueba mientras le paso argumentos:

$myclass = new myclass;
$test = $myclass->cls('test', array('a1', 'b2', 'c3'));

Da error: Faltan los argumentos 1 y 2; solo se pasa el primer argumento

Esto funciona bien si crea una instancia de una clase que no tiene argumentos en su función de constructor.

Para los desarrolladores de PHP con experiencia, lo anterior no debería ser un gran problema. Por favor ayuda.

Gracias

Respuestas a la pregunta(5)

Su respuesta a la pregunta