[POO] Pb avec les fonctions xml et la POO
Bonjour,
Voilà mon problème,
J'ai créé pour mon site une classe de gestion XML, sauf que j'ai l'impression que la lib XML gère très mal la POO, je m'explique :
dans ma classe j'ai une méthode parse qui contient ceci, c'est a dire l'initialisation de mon objet xml, et la definition des fonctions pour les evenement xml.
Code:
1 2 3 4 5 6 7
| $xmlParser = xml_parser_create();
xml_parser_set_option($xmlParser, XML_OPTION_CASE_FOLDING, 1);
xml_set_element_handler($xmlParser, array($this,"openBalise"), array($this,"closeBalise"));
xml_set_character_data_handler($xmlParser, array($this,"text"));
xml_set_default_handler($xmlParser,array($this,"defaut"));
xml_parse($xmlParser,$this->stringXml); |
et ensuite j'ai ceci :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| function openBalise($parser, $name, $attr){
$balise = array("name"=>$name, "attr"=>$attr, "text"=>"", "depth"=>$this->domDepth);
$this->tBalises[$this->nbBalises]= $balise;
$this->nbBalises++;
$this->domDepth++;
}
function closeBalise($parser, $name){
$this->domDepth--;
}
function text($parser, $text){
$this->tBalises[$this->nbBalises]["text"] = $text;
}
function defaut(){
} |
bon jusque là pas de prob.
Le prob arrive lorsque j'execute, je me rend compte que la propriété dans openBalise $this->nbBalises n'est pas la même que celle de closeBalise ou meme de text ou de defaut, à croire que la lib xml re-instancie un objet pour chaque function d'évenement, or il ne devrais pas car je lui ai passé le pointeur sur l'objet $this.
et de meme si je met un var_dump($this->tBalises) après xml_parse($xmlParser,$this->stringXml); , il me renvoi :Alors pourquoi cela me fais ça?