1

Yop à tous !

voici mon pb (php5) : j'aimerais faire cela :

$objet = 'Voiture';
$instance = new {$objet}();


en sachant que $objet ne se limite pas à seulement 2-3 valeurs mais à un nombre de valeurs illimités, donc le switch n'est pas envisageable...

quelqu'un saurait comment faire ? car ca ne marche pas
Ancien pseudo : lolo

2

new $objet () directement, non ?

(faut que je vérifie mais de mémoire j'ai un truc comme ça dans mirari)
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

3

non. (edit: quoique, peut être)
re-edit: en fait carrément si grin

Il faut utiliser la réflexion, officiellement.

http://www.php.net/manual/fr/language.oop5.reflection.php#language.oop5.reflection.reflectionclass

donc ça ferait:
$objet = 'Voiture'; 
$classe=new ReflectionClass($objet);
$instance = $classe->newInstance();

4

ok cool smile merci beaucoup !
Ancien pseudo : lolo

5

squalyl (./3) :
non.

autant prendre la peine de vérifier avant d'être aussi catégorique : http://www.mirari.fr/0T0e
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

6

squalyl (./3) :
(edit: quoique, peut être)


en effet... on a dû crosser...

7

non non pas crossé, je parlais bien de ta 1ere réaction qui consiste à répondre "non" sans vérifier, mais bon... rien de grave ^^
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

8

bon, oui, désolé, mais j'ai édité juste après.

Entre nous tant mieux que ce soit une "feature du langage" sans avoir besoin de sortir l'arsenal de la réflection.

9

zut alors, en effet ca marche smile j'avais testé en mettant entre { }, et ca me mettait une erreur, mais j'avais pas testé sans !

merci happy
Ancien pseudo : lolo