Orienté ibjet

bonjour
voila mon code :
 public static function allinfotalent()
  {
    if(is_null(self::$Allinfotalent))
    {
    $pdo = Bdconnexion::Connexion();
    $query = $pdo->prepare("query....");
    $query->execute(array(
    "mail" => $this->maile,
    "password" =>$this->$password
    ));
    self::$Allinfotalent = $query->fetch();
    }
    return self::$Allinfotalent;

}

EDIT : Ajout des balises de code

ce script m'affiche cette erreur :
Using $this when not in object context in C:\Program Files (x86)\EasyPHP-DevServer-14.1VC9\data\localweb\projects\class\talentinformation.class.php on line 58
merci d'avance pour votre aide

3 réponses

  • Votes
  • Date
  • Date décroissante
  1. Bonjour,

    Le problème vient du fait que tu utilises $this, qui se réfère donc à une instance de classe, au sein d'une méthode static, qui est donc hors instance.

    Soit ta méthode ne devrait pas être static, soit elle ne devrait pas nécessité des infos dépendant d'une instance.
    J'aurais plutôt tendance à pencher pour le deuxième cas, vu le nom de ta méthode.

    Xavier
    1. Bonjour,

      Déjà faite avec la balise < code>
      Cela va afficher
      public static function allinfotalent() 
       { 
       if(is_null(self::$Allinfotalent)) 
       { 
       $pdo = Bdconnexion::Connexion(); 
       $query = $pdo->prepare("query...."); 
       $query->execute(array( 
       "mail" => $this->maile, 
       "password" =>$this->$password 
       )); 
       self::$Allinfotalent = $query->fetch(); 
       } 
       return self::$Allinfotalent; 
      
       } 


      C'est plus propre non :-)...

      Après vous dites
       on line 58 
      malheureusement je vois pas ou est la ligne 58..

      Donnez tout* votre code, en cachant les identifiants si le cas.

      Bonne journée
      Alexandre.
      Apprenti développeur.
      HTML,CSS, PHP & JAVA (Créateur de SiteWEB)
      1. Modérateur
        Bonjour,

        Et .. où se trouve ce code .... dans une CLASS visiblement...
        Peux tu nous montrer le contenu COMPLET du fichier
        C:\Program Files (x86)\EasyPHP-DevServer-14.1VC9\data\localweb\projects\class\talentinformation.class.php

        1. if(is_null(self::$Allinfotalent))
          {
          $pdo = Bdconnexion::Connexion();
          $query = $pdo->prepare("query....");
          $query->execute(array(
          ligne 51 "mail" => $this->maile,
          ligne 52 "password" =>$this->$password
          ));
          self::$Allinfotalent = $query->fetch();
          }
          return self::$Allinfotalent;

          voila mon erreur et la ligne qui contient l'erreur:
          Using $this when not in object context in C:\Program Files (x86)\EasyPHP-DevServer-14.1VC9\data\localweb\projects\class\talentinformation.class.php on line 51
          merci d'avance pour votre aide
        2. Modérateur
          @Houssine@Nan mais ok... on a bien vu l'erreur.... maintenant on voudrait voir le contenu INTÉGRALE du fichier qui génère cette erreur ....
        3. "avec les balises < code> < /code> :-)"