IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

[POO] Pb avec les fonctions xml et la POO


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Inscrit en
    Juin 2006
    Messages
    56
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Juin 2006
    Messages : 56
    Points : 49
    Points
    49
    Par défaut [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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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?

  2. #2
    Membre du Club
    Inscrit en
    Juin 2006
    Messages
    56
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Juin 2006
    Messages : 56
    Points : 49
    Points
    49
    Par défaut
    Bon je répond a mon propre post puisque j'ai trouvé la solution, il faut utiliser xml_set_object()
    Voilà..

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 11
    Dernier message: 03/05/2006, 01h24
  2. problème avec les fonctions MidStr et LeftStr
    Par timsah dans le forum C++Builder
    Réponses: 1
    Dernier message: 07/02/2006, 10h07
  3. Réponses: 2
    Dernier message: 10/05/2005, 10h58
  4. Problème avec les fonctions
    Par jvachez dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 13/01/2004, 12h06
  5. [Postgresql]Problème avec les fonctions ...
    Par fet dans le forum Requêtes
    Réponses: 4
    Dernier message: 02/10/2003, 09h04

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo