|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||
|
Membre du Club
![]() jean Inscription : octobre 2011 Messages : 95 ![]() |
Bonjour !
Je voudrais savoir comment faire pour par exemple. J'ai une classe mère Poisson, deux classes Filles : Truite et Saumon. Comment faire pour faire une boucle qui passe en revue tous les poissons, et affiche par exemple, leur environnement. Exemple de code : Code :
Il n'y a pas mieux à faire? Je pensais à un truc du genre : Code :
Merci ! |
||||
|
|
00
|
|
|
#2 |
|
Expert Confirmé
![]() Inscription : mars 2005 Messages : 2 823 ![]() |
Pour récupérer toutes les classes définies : get_declared_classes( ).
Pour savoir si une classe donnée dérive d'une autre classe utilise is_subclass_of( ) qui permet de travailler sur des noms de classes plutôt que des instances.
__________________
Un problème exposé clairement est déjà à moitié résolu Keep It Smart and Simple |
|
|
00
|
|
|
#3 | ||
|
Membre du Club
![]() jean Inscription : octobre 2011 Messages : 95 ![]() |
Merci beaucoup Séb,
dernier petit truc qui m'ennuie, sur la liste qu'on récupère, c'est une liste des noms de classes, serait-il possible d'obtenir la liste des objets d'une classe? Par exemple, tous les objets "poissons", afin de lister leur environnement. Pour illustrer par du code : Code :
|
||
|
|
00
|
|
|
#4 | ||
|
Expert Confirmé
![]() Inscription : mars 2005 Messages : 2 823 ![]() |
Pas le choix, il faut instancier les classes dérivées de Poisson...
Code :
__________________
Un problème exposé clairement est déjà à moitié résolu Keep It Smart and Simple |
||
|
|
00
|
|
|
#5 | ||||
|
Expert Confirmé
![]() ![]() |
Bonjour,
Tu peux aussi éviter à avoir à instancier tes classes à condition d'utiliser une variable ou une fonction statique. Si l'environnement ne change pas, tu peux très bien faire quelque chose comme ça : Code :
Code :
__________________
# Dans la Création, tout est permis mais tout n'est pas utile... |
||||
|
00
|
|
|
#6 |
|
Membre du Club
![]() jean Inscription : octobre 2011 Messages : 95 ![]() |
Merci bien pour votre aide !
bon dimanche |
|
|
00
|
|
|
#7 |
![]() ![]() Josselin Développeur Web Inscription : janvier 2004 Messages : 9 050 ![]() |
Petit complément sur le code de rawsrc : appeler une méthode statique ou une propriété statique d'une classe dynamique ne fonctionne qu'à partir de PHP 5.3.
Au passage, le premier code devrait être $class::environnement() et non $class->environnement(). |
|
|
20
|
|
|
#8 |
|
Expert Confirmé
![]() ![]() |
Merci, c'est corrigé
__________________
# Dans la Création, tout est permis mais tout n'est pas utile... |
|
10
|
Copyright © 2000-2012 - www.developpez.com