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

PHP & Base de données Discussion :

serialisatiopn de SimpleXMLElement [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 32
    Par défaut serialisatiopn de SimpleXMLElement
    bonjour
    ja'i une classe connexion
    avec
    $server=simplexml_load_file("parametre.xml");


    $this->host=$server->host;
    $this->port=$server->port;
    $this->user=$server->user;
    $this->pass=$server->pass;
    $this->bdd=$server->bdd;

    puis j'essaye de sérialiser cette classe
    mais j'ai l'erreur
    Uncaught exception 'Exception' with message 'Serialization of 'SimpleXMLElement' is not allowed'
    Je ne sais pas du tout comment m'en sortir
    quelqu'un a t il une idée?
    merci d'avance pour votre aide

  2. #2
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Par défaut
    On ne peut (directement du moins) sérialiser les objets relatifs à XML. La seule façon de passer outre c'est de jouer avec les méthodes magiques __sleep/__wakeup ou l'interface Serializable afin d'écarter ce qu'on ne peut sérialiser de la sérialisation et les recréer lors de la désérialisation.

    Par contre, n'y a-t-il tout simplement pas "erreur" ici :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $this->host=$server->host;
    $this->port=$server->port;
    $this->user=$server->user;
    $this->pass=$server->pass;
    $this->bdd=$server->bdd;
    Vous référencez ici des objets SimpleXMLElement (non sérialisables donc) et non des chaînes. Pour le second cas, il faut une cast explicite (via (string) ou la fonction strval):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $this->host = (string) $server->host;
    $this->port = (string) $server->port;
    $this->user = (string) $server->user;
    $this->pass = (string) $server->pass;
    $this->bdd = (string) $server->bdd;

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 32
    Par défaut Simple XML Element
    bonjour
    Oui c'était ça mon problème
    Merci ça fonctionne

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

Discussions similaires

  1. [PHP 5.3] Eval et Objet SimpleXmlElement
    Par moulin_g dans le forum Langage
    Réponses: 3
    Dernier message: 05/03/2010, 15h25
  2. [POO] Objet SimpleXMLElement vers string ?
    Par jeremm dans le forum Langage
    Réponses: 4
    Dernier message: 20/05/2009, 16h15
  3. [SimpleXML] SimpleXMLElement modification d'un noeud
    Par alheim dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 21/05/2007, 21h48
  4. [SimpleXML] Supprimer les messages d'erreur de SimpleXMLElement
    Par cybertj dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 21/05/2007, 21h42
  5. [SimpleXML] Parser un flux xml avec SimpleXMLElement
    Par DeezerD dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 22/11/2006, 18h07

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