PHP: Comment instancier une classe avec des arguments provenant d'une autre classe

Je suis dans une des situations où j'ai besoin d'instancier une classe avec des arguments, au sein d'une instance d'une autre classe.
Voici le prototype:

//test.php

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

Maintenant, j'ai besoin d'instancier la classe ci-dessus à l'aide de ci-dessous de la classe cls fonction:

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

Maintenant lorsque j'essaie de créer une instance de la classe de test en passant des arguments à:

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

Il donne une erreur:
Missing argument 1 et 2; seulement le premier argument est passé.

Cela fonctionne bien si j'instancie une classe qui n'a pas d'argument dans la fonction constructeur.

Pour les développeurs PHP, ci-dessus ne devrait pas être beaucoup d'un problème. S'il vous plaît aider.

Grâce

source d'informationauteur Sarfraz