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

Résolu
Signaler
Messages postés
73
Date d'inscription
vendredi 8 avril 2005
Statut
Membre
Dernière intervention
17 janvier 2012
-
Messages postés
73
Date d'inscription
vendredi 8 avril 2005
Statut
Membre
Dernière intervention
17 janvier 2012
-
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

Messages postés
73
Date d'inscription
vendredi 8 avril 2005
Statut
Membre
Dernière intervention
17 janvier 2012

J'ai trouvé la solution :

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


KJM
Messages postés
1044
Date d'inscription
lundi 7 mars 2005
Statut
Membre
Dernière intervention
13 juillet 2010
7
Salut,

Le mieux c'est tout simplement de faire ceci :

<?php
$nomClasse = "Machin";
$instance = new $nomClasse();
?>
Messages postés
73
Date d'inscription
vendredi 8 avril 2005
Statut
Membre
Dernière intervention
17 janvier 2012

Bonjour,

Merci pour cette solution bien plus pratique.

KJM