171 votes

instancier une classe à partir d'une variable en PHP?

Je sais que cette question semble assez vague, donc je le rendrai plus clair avec un exemple :

C’est ce que je veux faire. Comment feriez-vous il ? Bien sûr, je pourrais utiliser eval() comme ceci :

Mais je préfère rester loin de eval(). Est-il possible de le faire sans eval() ?

248voto

Paul Dixon Points 122033

Placé tout d’abord le classname dans une variable :

C’est souvent le genre de chose que vous verrez enveloppé dans un modèle de fabrique.

64voto

flu Points 3120
<h2>Comment passer des paramètres du constructeur dynamique trop<p>Si vous souhaitez passer des paramètres du constructeur dynamique à la classe, vous pouvez utiliser ce code :</p><pre><code></code></pre><p><a href="http://rabaix.net/en/articles/2009/02/06/how-to-instantiate-a-php-class-with-dynamic-parameters">Plus d’informations sur les classes dynamiques et paramètres</a></p></h2>

32voto

zalew Points 4213
class Test {
    public function yo() {
        return 'yoes';
    }
}

$var = 'Test';

$obj = new $var();
echo $obj->yo(); //yoes

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X