Maison  >  Questions et réponses  >  le corps du texte

Les fonctions statiques ne peuvent pas utiliser $this

J'ai cette méthode et je veux y utiliser $this, mais tout ce que j'obtiens est : Erreur fatale : $this n'est pas utilisé dans un contexte d'objet.

Comment puis-je le faire fonctionner ?

public static function userNameAvailibility()
{
     $result = $this->getsomthin();
}


P粉277464743P粉277464743392 Il y a quelques jours576

répondre à tous(2)je répondrai

  • P粉810050669

    P粉8100506692023-10-18 12:20:45

    Vous ne pouvez pas utiliser $this dans une fonction statique car les fonctions statiques sont indépendantes de tout objet instancié. Essayez de rendre la fonction non statique.

    Edit : Par définition, les méthodes statiques peuvent être appelées sans aucun objet instancié, donc utiliser $this à l'intérieur d'une méthode statique n'a aucun sens.

    répondre
    0
  • P粉633075725

    P粉6330757252023-10-18 10:24:37

    C'est la bonne chose à faire

    public static function userNameAvailibility()
    {
         $result = self::getsomthin();
    }

    Pour les méthodes statiques, utilisez self::而不是$this->.

    Voir : Tutoriel de méthode statique PHPPour plus d'informations :)

    répondre
    0
  • Annulerrépondre