Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1710 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  connaitre les propriétés d'un objet

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

connaitre les propriétés d'un objet

n°2023240
Profil sup​primé
Posté le 16-09-2010 à 11:16:25  answer
 

yop.
J'ai un objet dont les propriétés sont settées à la volée.  
Je voudrais la liste de ces propriétés.
 
Je fais donc:
 

Code :
  1. <?php
  2. class tutu{
  3.     protected $h = 'coucou';
  4.     public function setval($key,$val){
  5.         $this->$key = $val;
  6.     }
  7.  
  8. }
  9.  
  10. $t = new tutu();
  11. $t->setval('hello','world');
  12. /*output
  13. object(tutu)[1]
  14.  protected 'h' => string 'coucou' (length=6)
  15.  public 'hello' => string 'world' (length=5)
  16.  
  17. */
  18. $r = new ReflectionClass($t);
  19. var_dump($r->getProperties());
  20. /*output
  21. array
  22.  0 => &
  23.    object(ReflectionProperty)[3]
  24.      public 'name' => string 'h' (length=1)
  25.      public 'class' => string 'tutu' (length=4)
  26.  
  27. */


 
le ReflectionClass::getProperties() ne marche donc pas dans ce cas.
Comment je peux faire ?

mood
Publicité
Posté le 16-09-2010 à 11:16:25  profilanswer
 

n°2023251
FlorentG
Posté le 16-09-2010 à 11:43:02  profilanswer
 

Utilise plutôt __get et __set, avec stockage dans un tableau [:petrus dei]

n°2023252
Profil sup​primé
Posté le 16-09-2010 à 11:46:52  answer
 

Je ne peux pas toucher à l'objet en question.
Sinon strop simple  [:petrus75]

n°2023258
FlorentG
Posté le 16-09-2010 à 11:56:48  profilanswer
 

Y'a un moyen moche, c'est de caster en array :

Code :
  1. $tArray = (array)$t;
  2. var_dump($tArray);
  3.    
  4. foreach($tArray as $prop => $val) {
  5.     echo $prop, ' : ', $val, "\n"; 
  6. }

n°2023260
FlorentG
Posté le 16-09-2010 à 11:59:20  profilanswer
 

Au passage, on voit comment php stocke les propriétés, sous forme d'array en fait, avec pour clé :
 

  • Propriété private : \0<nom de la classe>\0<nom de la prop>
  • Propriété protected : \0*\0<nom de la prop>
  • Propriété public : <nom de la prop>


[:moule_bite]

n°2023307
Profil sup​primé
Posté le 16-09-2010 à 14:51:30  answer
 

Pourtant ce truc devrait être résolu depuis 2006  [:pingouino]  
http://bugs.php.net/bug.php?id=37682

n°2023312
esox_ch
Posté le 16-09-2010 à 15:06:33  profilanswer
 

T'as quoi comme version de PHP :D


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
n°2023322
Profil sup​primé
Posté le 16-09-2010 à 15:34:49  answer
 

5.3.1 :d

n°2023325
esox_ch
Posté le 16-09-2010 à 15:46:43  profilanswer
 

En effet ... surprenant ... Demande sur la mailling :spamafote:


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
n°2023333
Profil sup​primé
Posté le 16-09-2010 à 16:01:22  answer
 

C'est où la mailling list ?  [:mariocompiegne]

mood
Publicité
Posté le 16-09-2010 à 16:01:22  profilanswer
 

n°2023393
esox_ch
Posté le 16-09-2010 à 21:22:16  profilanswer
 

http://www.php.net/mailing-lists.php
 
Faut ouvrir les zieux quand même :o


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
n°2023420
stealth35
Posté le 17-09-2010 à 00:59:04  profilanswer
 
n°2023460
Profil sup​primé
Posté le 17-09-2010 à 10:06:04  answer
 

[:shimay:1]

n°2023882
the_bigboo
Posté le 20-09-2010 à 15:14:24  profilanswer
 


Je lisais le topic quand je me demandais qui allait enfin la sortir :)

Spoiler :

Alleluja !


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  connaitre les propriétés d'un objet

 

Sujets relatifs
[Perl] - Programmation objet et debuggerquel objet calendrier utilisez-vous ?
PHP 5.3.3 déclaration d'un objetenregistrer objet
Tri d'objet pointé dans un tableauErreur d'exécution Microsoft VBScript: Cet objet ne gère pas cette pro
acceder à une propriété d'un objet par l'intermédiaire d'un stringTaille mémoire d'un objet
Récupérer objet pointéProblème imbrication d'objet Jquery IE
Plus de sujets relatifs à : connaitre les propriétés d'un objet


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR