PHP: Como instanciar uma classe com argumentos de dentro de outra classe

Estou em situações em que preciso instanciar uma classe com argumentos de dentro de uma instância de outra classe. Aqui está o protótipo:

//test.php

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

Agora, preciso instanciar a classe acima usando as classes abaixocls função:

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

Agora, quando eu tento criar uma instância da classe de teste ao passar argumentos para ela:

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

Dá erro: Falta o argumento 1 e 2; apenas o primeiro argumento é passado.

Isso funciona bem se eu instanciar uma classe que não tem argumentos em sua função de construtor.

Para desenvolvedores PHP experientes, acima não deve ser um grande problema. Por favor ajude.

obrigado

questionAnswers(5)

yourAnswerToTheQuestion