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 :

appel d'un objet dans une methode


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    darkloy
    Invité(e)
    Par défaut appel d'un objet dans une methode
    Bonjour !

    J'ai un petit problème et je ne comprends pas trop.

    J'ai une classe Player, qui contient une méthode getplayer();Dans cette méthode je fais appel à un objet $db, qui est une connexion, mais le problème c'est que l'objet n'est pas défini dans la fonction (ou et la classe).

    Msg Erreur :
    Fatal error: Call to a member function on a non-object in ...

    "global" ne suffis pas.

    Voici le code :

    class Player {

    /**
    * Fonction de recherche d'un joueur
    *
    * $pseudo = pseudo du joueur
    *
    */

    function getPlayer($pseudo) {
    // On recherche le joueur
    $r = $db->select_hash(PLAYER,'Pseudo ='.$pseudo); // ligne d'erreur
    if ($r)
    {
    $data['Password'] = $r[0]['Password'];
    $data['Email'] = $r[0]['Email'];
    // Score
    $s = $db->select('Score',SCORE,'idGame_ScoreGame ='.$s[0]['idGame_Name_Id']);
    $data['Score'] = $s[0]['Score'];
    }else
    {
    $data = "No Player";
    }
    return $data;
    }
    }

    Quelqu'un pourrais m'expliquer ?

  2. #2
    Membre averti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2007
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Haute Garonne (Midi Pyrénées)

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

    Informations forums :
    Inscription : Janvier 2007
    Messages : 19
    Par défaut
    Tu déclares où ton $db ? tu le mets en global ? si oui, il faut écrire $GLOBALS['db'].

    C'est ce que j'utilise d'habitude et sans passe sans problème

  3. #3
    darkloy
    Invité(e)
    Par défaut
    En fait je fais un require sur un fichier dans lequel je crée l'objet :

    // Construction de l'objet de connexion
    $db = new db($host,$user,$pass,$table);

  4. #4
    darkloy
    Invité(e)
    Par défaut
    J'ai mis comme tu m'as dit :

    // Construction de l'objet de connexion
    $GLOBALS['db'] = new db($host,$user,$pass,$table);

    J'ai toujours ce message

    Fatal error: Call to a member function on a non-object in

    et le seul objet que j'appelle sur cette ligne avec une méthode c'est bien $db...

  5. #5
    Membre averti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2007
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Haute Garonne (Midi Pyrénées)

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

    Informations forums :
    Inscription : Janvier 2007
    Messages : 19
    Par défaut
    Non pas du tout comme ça qu'il faut faire ^^

    Code PHP : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $db = new db($host,$user,$pass,$table); 
    global $db;
    Puis quand tu veux l'utiliser tu fait : $GLOBALS['db']

    par exemple dans ton cas :

    Code PHP : Sélectionner tout - Visualiser dans une fenêtre à part
    $r = $GLOBALS['db']->select_hash(PLAYER,'Pseudo ='.$pseudo);

  6. #6
    darkloy
    Invité(e)
    Par défaut
    Nickel !!!
    Ca marche !

    Merci beaucoup, je m'y prenais comme un manche !


    Merci SorenS

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

Discussions similaires

  1. [FAQ] Comment appeler un objet dans une page ?
    Par SylvainPV dans le forum Contributions JavaScript / AJAX
    Réponses: 0
    Dernier message: 18/10/2014, 18h25
  2. [Débutant] Appel d'une methode dans une methode
    Par yannoch123 dans le forum C#
    Réponses: 1
    Dernier message: 15/01/2014, 13h16
  3. Récupérer un objet d'une methode dans une autre
    Par boutmos dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 16/10/2013, 23h48
  4. Réponses: 1
    Dernier message: 07/01/2010, 17h16
  5. Retour d'objet dans une methode
    Par scorbo dans le forum Débuter
    Réponses: 2
    Dernier message: 30/03/2009, 16h32

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