Utilisation de $this dans les classes PHP
L'erreur PHP "Erreur fatale : utilisation de $this sans contexte d'objet" se produit lors de la tentative de accéder au mot-clé $this en dehors d'une méthode de classe qui nécessite un objet instance.
Explication
En PHP, le mot-clé $this fait référence à l'instance d'objet actuelle dans une méthode de classe. Tenter d'utiliser $this en dehors d'un contexte d'objet, comme dans une méthode statique ou une portée globale, entraînera l'erreur susmentionnée.
Exemple
Le code fourni montre comment l'erreur peut se produire. Dans class.php, la méthode foobarfunc() tente par erreur d'accéder à $this->foo(), qui n'est valide que dans une instance d'objet.
Solution
Pour résoudre l'erreur, vous pouvez soit :
Créer la méthode en tant que méthode statique method:
static public function foobarfunc() { return self::$foo; }
Cela vous permet d'accéder à la méthode en utilisant le nom de la classe au lieu d'une instance d'objet, par exemple foobar::foobarfunc().
Créer une instance d'objet et appelez la méthode foobarfunc() sur celle-ci instance :
$foobar = new foobar; $result = $foobar->foobarfunc();
N'oubliez pas que les méthodes statiques peuvent accéder directement aux variables et aux méthodes de classe sans avoir besoin d'une instance d'objet, tandis que les méthodes non statiques nécessitent d'abord la création d'une instance d'objet spécifique. .
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!