Quelle est la meilleure approche pour initialiser les variables de classe?

Voici deux d'initialiser des variables de classe.

1ère Méthode

class Test {
    private $var1;
    private $var2;

    public function Test($var1,$var1) {
        $this->var1 = $var1;
        $this->var2 = $var2;
    }
}
$objTest = new Test("value1","value2");

2ème Méthode

class Test {
    private $var1;
    private $var2;

    public function _set($var, $value) {
        $this->$$var = $value
    }
}
$objTest = new Test();
$objTest->_set('var1','value1');
$objTest->_set('var2','value2');

Maintenant, ces deux méthodes sont valables, mais je voudrais savoir lequel de mieux dans quelles conditions? Quels sont les avantages et les inconvénients de s'en tenir à une seule?

source d'informationauteur Starx | 2011-03-16