Maison > développement back-end > tutoriel php > Pourquoi est-ce que j'obtiens l'erreur « Erreur fatale PHP : utilisation de $this lorsque ce n'est pas dans le contexte de l'objet » ?

Pourquoi est-ce que j'obtiens l'erreur « Erreur fatale PHP : utilisation de $this lorsque ce n'est pas dans le contexte de l'objet » ?

Linda Hamilton
Libérer: 2024-12-30 11:24:13
original
688 Les gens l'ont consulté

Why Am I Getting the

"Erreur fatale PHP : utilisation de $this lorsqu'il n'est pas dans le contexte de l'objet" résolu

Rencontre de l'erreur "Erreur fatale : utilisation de $this lorsque pas dans le contexte d'objet" indique que le mot clé $this référencé est utilisé en dehors d'un contexte de classe. Pour mieux comprendre cela, disséquons votre code :

Dans votre index.php, vous avez besoin du fichier load.php, qui à son tour nécessite le class.php. Dans class.php, l'erreur se produit en raison de l'affectation $this->foo dans le constructeur.

La ligne $this->foo = $foo; tente d'accéder à la propriété foo de l'objet actuel, mais sans instancier un objet, il n'y a pas de $this auquel faire référence. Ainsi, cette ligne n'est pas valide en dehors d'un contexte d'objet.

Pour rectifier l'erreur, vous devez instancier un objet de la classe foobar et appeler ses méthodes sur cet objet. Ceci peut être réalisé grâce aux exemples suivants :

  1. Invocation de méthode statique :

    Modifiez votre class.php en déclarant la méthode foobarfunc comme statique et en définissant une variable statique $foo . Cela vous permet d'appeler directement la méthode sans instancier un objet.

  2. Invocation d'objet :

    Instancier un objet de la classe foobar en utilisant $foobar = new foobar; puis appelez ses méthodes sur cet objet en utilisant $foobar->foobarfunc();.

Par conséquent, l'erreur se produit lorsque vous tentez d'utiliser $this en dehors du contexte d'un objet. Pour le résoudre, utilisez des méthodes statiques sans $this référence ou instanciez un objet et appelez des méthodes dessus.

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal