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:
<?phpclass tutu{ protected $h = 'coucou'; public function setval($key,$val){ $this->$key = $val; } } $t = new tutu();$t->setval('hello','world');var_dump($t);/*outputobject(tutu)[1] protected 'h' => string 'coucou' (length=6) public 'hello' => string 'world' (length=5) */$r = new ReflectionClass($t);var_dump($r->getProperties());/*outputarray 0 => & object(ReflectionProperty)[3] public 'name' => string 'h' (length=1) public 'class' => string 'tutu' (length=4) */
le ReflectionClass::getProperties() ne marche donc pas dans ce cas. Comment je peux faire ?
Utilise plutôt __get et __set, avec stockage dans un tableau
Je ne peux pas toucher à l'objet en question. Sinon strop simple
Y'a un moyen moche, c'est de caster en array :
Au passage, on voit comment php stocke les propriétés, sous forme d'array en fait, avec pour clé :
Pourtant ce truc devrait être résolu depuis 2006 http://bugs.php.net/bug.php?id=37682
T'as quoi comme version de PHP
5.3.1
En effet ... surprenant ... Demande sur la mailling
C'est où la mailling list ?
http://www.php.net/mailing-lists.php Faut ouvrir les zieux quand même
get_object_vars ?
Je lisais le topic quand je me demandais qui allait enfin la sortir
Alleluja !