Faire appel à la classe dont le nom est stocké dans une variable

Résolu
jmp kjm Messages postés 73 Date d'inscription vendredi 8 avril 2005 Statut Membre Dernière intervention 17 janvier 2012 - 5 mai 2010 à 15:12
jmp kjm Messages postés 73 Date d'inscription vendredi 8 avril 2005 Statut Membre Dernière intervention 17 janvier 2012 - 10 mai 2010 à 14:33
Bonjour,

Supposons une classe :

Class Machin{

public function newInstance(){

$newi = new self;
echo('Objet créé avec succès !');
return $newi; 

}

}


Aucun soucis pour faire :

Machin::newInstance();


MAIS supposons que
$cellevoulue='Machin';


Alors comment faire ce qui suit correctement ?

`$cellevoulue`::newInstance();



Merci beaucoup pour votre aide !

KJM

3 réponses

jmp kjm Messages postés 73 Date d'inscription vendredi 8 avril 2005 Statut Membre Dernière intervention 17 janvier 2012
5 mai 2010 à 15:22
J'ai trouvé la solution :

eval(\$cellevoulue.'::newInstance();');


KJM
3
Arto_8000 Messages postés 1044 Date d'inscription lundi 7 mars 2005 Statut Membre Dernière intervention 13 juillet 2010 7
9 mai 2010 à 05:52
Salut,

Le mieux c'est tout simplement de faire ceci :

<?php
$nomClasse = "Machin";
$instance = new $nomClasse();
?>
3
jmp kjm Messages postés 73 Date d'inscription vendredi 8 avril 2005 Statut Membre Dernière intervention 17 janvier 2012
10 mai 2010 à 14:33
Bonjour,

Merci pour cette solution bien plus pratique.

KJM
0
Rejoignez-nous