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

Bibliothèques et frameworks PHP Discussion :

[SimpleXML] Erreur d'entrée sortie


Sujet :

Bibliothèques et frameworks PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Homme Profil pro
    Technophile Web
    Inscrit en
    Mai 2007
    Messages
    930
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Technophile Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2007
    Messages : 930
    Par défaut [SimpleXML] Erreur d'entrée sortie
    Bonjour,

    C'est la première fois que j'ai à travailler sur des fichiers de conf (XML). J'ai donc créer une classe qui me permet de reprendre les informations de mon fichier
    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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    <?php
    /** Manage configuration file (in XML) 
     * XML markups must be in their lowercase form
     */
    class ConfigurationParser
    {
    	private $path;
    	private $xml; // configuration file is an XML document
    	/** Construct the object
    	 * @param URL
    	 * @type {param1} String
    	 */
    	public function __construct($URL)
    	{
    		$this->path = $URL;
    		$this->xml = new SimpleXMLElement($this->path,LIBXML_NOENT,true);
    	}
    	/** Get an information 
    	 * @param Information
    	 * @type {param1} String separated by DOT
    	 * @advert Support only 2 level (e.g : XXX.YYYY) 
    	 * @return The information
    	 * @type {return} String */
    	public function get($info)
    	{
    		$info = strtolower($info);
    		$path = explode(".",$info);
    		$xpath='/configuration/'.$path[0].'/'.$path[1];
    		$result = $this->xml->xpath($xpath);
    		return (string) $result[0] -> asXML();
    	}
    }
    ?>
    j'ai aussi une autre classe qui gère mes utilisateurs (le moteur de mon application Web). Dans cette classe, j'utilise une connexion SQL. Cette connexion se fait à partir d'information que je reprend du fichier XML de configuration (grâce à la classe ConfigurationParser [plus précisement de sa méthode get). Mais voila, je me rend compte que cette méthode mùe renvoie du XML. En effet, lorsque je créer une instance de ma clase User, je créer en même temps une instance de PDO (pour ma connexion)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $this -> conf = new  ConfigurationParser("/configuration/global.xml"); 
    		$this->dbh = new Connexion(
    			$this->conf->get("DATABASE.HOST"),$this->conf->get("DATABASE.NAME"),
    			$this->conf->get("DATABASE.USER"),$this->conf->get("DATABASE.PASS"));
    connexion est juste une classe qui éxecute PDO avec écriture dans un fichier de log. bref, la trace de l'erreur généré par cela est
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    #1 C:\Documents and Settings\mrabbaa\Mes documents\workspace\skyrecon\class\org.skyrecon.skyline.User.php(25): Connexion->__construct('<host>localhost...', '<name>skyr2</na...', '<user>mrabbaa</...', '<pass>xxxx...')
    comme si la méthode get de la classe ConfigurationParser me retorunait un noeud XML et non un string comme je l'ai précisé.

    quelqu'un peut il éclairer ma lanterne, ceci est trop obscure pour moi.

  2. #2
    Membre chevronné
    Développeur Web
    Inscrit en
    Avril 2005
    Messages
    397
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2005
    Messages : 397
    Par défaut
    salut,

    attention tu utilises asXML()
    function.simplexml-element-asXML.php
    il est donc normal que tu retrouves avec le xml et ses nœuds.

    Essai quelque chose comme :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    $this->xml->$path[0]->$path[1];

    Me manque un bout de xml pour être sûr...

  3. #3
    Membre éprouvé
    Homme Profil pro
    Technophile Web
    Inscrit en
    Mai 2007
    Messages
    930
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Technophile Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2007
    Messages : 930
    Par défaut
    merci ça fonctionne comme cela, mais ça fait la même chose qu'avant, c'est juste plus court (et sans doute plus propre) a écrire

  4. #4
    Membre éprouvé
    Homme Profil pro
    Technophile Web
    Inscrit en
    Mai 2007
    Messages
    930
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Technophile Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2007
    Messages : 930
    Par défaut
    mais quand je sérialize() pour mettre dans ma session, et que je déserialize après ça ne fonctionne pas je pense qu'il me faut __wakup() et __sleep() dans la classe ConfigurationParser

Discussions similaires

  1. Erreur d'entrée / Sortie
    Par Daejung dans le forum Windows Vista
    Réponses: 0
    Dernier message: 23/10/2008, 23h19
  2. [E-03] Erreur d'entrée / Sortie
    Par Daejung dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 23/10/2008, 22h40
  3. Erreur d'entrée/sortie : unable to read inode block - inode
    Par Christophe P. dans le forum Administration système
    Réponses: 2
    Dernier message: 04/09/2008, 14h21
  4. Gestion des erreurs entre sorties sans la STL
    Par Djobird dans le forum SL & STL
    Réponses: 2
    Dernier message: 13/02/2007, 21h22
  5. Réponses: 11
    Dernier message: 13/10/2004, 00h58

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