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] Méthodes magiques Utilisation de sleep() et wakeup()


Sujet :

Langage PHP

  1. #1
    Membre averti
    Inscrit en
    Mai 2007
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 35
    Par défaut [POO] Méthodes magiques Utilisation de sleep() et wakeup()
    Bonjour a tous,
    Je suis en train d'étudier les méthodes magique et la je bloque comme un newbie pffff.

    J'ai copié la class connection disponible sur l'url http://fr.php.net/manual/fr/language.oop5.magic.php mais je bloque et je ne voix pas comment l'utiliser.

    Comment faire une requete sql à partir de cette class ? Perso je bloque totalement alors que je ne suis pas un novice !

    Si quelqu'un pouvez m'aider ca serait vraiment sympa.
    Merci

  2. #2
    Membre confirmé
    Étudiant
    Inscrit en
    Janvier 2008
    Messages
    144
    Détails du profil
    Informations personnelles :
    Âge : 37

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2008
    Messages : 144
    Par défaut
    c'est relativement simple pourtant. Tu crée une instance de cette classe :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $bdd = new Connection("hoteBdd", "tonUsername", "tonPassword", "taBdd");
    Ensuite il manque une méthode pour interroger la base de données, donc tu la définie dans ta classe, par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    public function requete($taRequete) {
       return mysql_query($taRequete, $this->link); // Je ne vérifie pas les erreurs c'est juste un exemple
    }
    Et ensuite tu peut utiliser cette méthode pour effectuer une requête :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $bdd->requete("SELECT ............. ");
    Ensuite pour ce qui est de __sleep() et __wakeup() leur but est le suivant.
    Lorsque tu veux linéariser un objet (via serialize()) la méthode __sleep() sera appelé pour nettoyer l'objet et elle est supposée retourner un tableau avec les noms de toutes les variables de l'objet qui doivent être linéarisées.

    La méthode __wakeup() sera appelé lors de la fonction "inverse" à serialize() (unserialize()) pour reconstruire toute ressource que l'objet possède (donc dans ton cas la connexion à la base de données).

    Je pense avoir été clair dite le moi si c'est pas le cas.

  3. #3
    Membre averti
    Inscrit en
    Mai 2007
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 35
    Par défaut
    Un grand merci pour ta réponse.
    En faite, il me manquait juste une chose la méthode pour interroger la base. C'était tellement gros que je ne voyais pas l'erreur.
    Forcement maintenant qu'il y a la méthode ça fonctionne mieux

    Merci pour ton aide
    ++

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

Discussions similaires

  1. [POO] Méthode magique __sleep
    Par sliderman dans le forum Langage
    Réponses: 3
    Dernier message: 19/02/2008, 14h49
  2. [POO] Comment l'utiliser convenablement.
    Par Sinclair dans le forum Langage
    Réponses: 23
    Dernier message: 25/07/2006, 21h12
  3. [POO] BUG PHP ?? Utilisation référence
    Par aurapp dans le forum Langage
    Réponses: 6
    Dernier message: 04/04/2006, 14h25
  4. Réponses: 5
    Dernier message: 22/01/2006, 09h10
  5. [Tomcat][sleep]De la bonne utilisation du sleep??
    Par Titom dans le forum Tomcat et TomEE
    Réponses: 3
    Dernier message: 11/01/2005, 10h25

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