Erreur fatale PHP : utilisation de $this lorsqu'il n'est pas dans le contexte de l'objet
Problème :
Lorsque vous tentez d'accéder à la variable $this dans une méthode non statique d'une classe en PHP, l'erreur suivante se produit : "Utiliser $this lorsqu'il n'est pas dans l'objet contexte."
Réponse :
Cette erreur se produit lors de la tentative d'accès à la variable $this en dehors d'une instance d'objet. La variable $this fait référence à l'objet courant et ne peut être utilisée que dans le contexte d'un objet instancié.
Solution :
Pour résoudre cette erreur, instanciez un objet de la classe et accédez à la méthode via l’instance d’objet. Par exemple :
$object = new MyClass(); $object->myMethod();
Alternativement, si la méthode est statique, vous pouvez y accéder directement en utilisant le nom de la classe, sans instancier d'objet :
MyClass::staticMethod();
Exemple :
Dans votre fichier class.php, assurez-vous que la méthode foobarfunc() n'est pas définie comme méthode statique. S'il n'est pas statique, vous devez instancier un objet de la classe foobar avant d'accéder à la méthode :
$foobar = new foobar(); $foobar->foobarfunc();
Si vous aviez l'intention de créer une méthode statique, assurez-vous que la méthode est déclarée comme statique et que le $ la variable foo est déclarée comme statique :
class foobar { public static $foo; public static function foobarfunc() { return self::$foo; } } foobar::foobarfunc();
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!