Heim > Backend-Entwicklung > PHP-Tutorial > Warum erhalte ich die Fehlermeldung „Schwerwiegender PHP-Fehler: Verwendung von $this, wenn nicht im Objektkontext'?

Warum erhalte ich die Fehlermeldung „Schwerwiegender PHP-Fehler: Verwendung von $this, wenn nicht im Objektkontext'?

Linda Hamilton
Freigeben: 2024-12-30 11:24:13
Original
688 Leute haben es durchsucht

Why Am I Getting the

„Schwerwiegender PHP-Fehler: Verwendung von $this, wenn nicht im Objektkontext“ behoben

Fehler „Schwerwiegender Fehler: Verwendung von $this, wenn.“ nicht im Objektkontext“ gibt an, dass das referenzierte Schlüsselwort $this außerhalb eines Klassenkontexts verwendet wird. Um dies besser zu verstehen, analysieren wir Ihren Code:

In Ihrer index.php benötigen Sie die Datei „load.php“, die wiederum die Datei „class.php“ benötigt. Innerhalb von class.php tritt der Fehler aufgrund der $this->foo-Zuweisung im Konstruktor auf.

Die Zeile $this->foo = $foo; versucht, auf die foo-Eigenschaft des aktuellen Objekts zuzugreifen, aber ohne ein Objekt zu instanziieren, gibt es kein $this, auf das verwiesen werden kann. Daher ist diese Zeile außerhalb eines Objektkontexts ungültig.

Um den Fehler zu beheben, müssen Sie ein Objekt der Foobar-Klasse instanziieren und seine Methoden für dieses Objekt aufrufen. Dies kann durch die folgenden Beispiele erreicht werden:

  1. Statischer Methodenaufruf:

    Ändern Sie Ihre class.php, indem Sie die foobarfunc-Methode als statisch deklarieren und eine statische Variable $foo definieren . Dadurch können Sie die Methode direkt aufrufen, ohne ein Objekt zu instanziieren.

  2. Objektaufruf:

    Instanziieren Sie ein Objekt der foobar-Klasse mit $foobar = new foobar; und dann seine Methoden für dieses Objekt mit $foobar->foobarfunc(); aufrufen.

Daher tritt der Fehler auf, wenn versucht wird, $this außerhalb eines Objektkontexts zu verwenden. Um das Problem zu lösen, verwenden Sie entweder statische Methoden ohne $this-Referenz oder instanziieren Sie ein Objekt und rufen Sie Methoden dafür auf.

Das obige ist der detaillierte Inhalt vonWarum erhalte ich die Fehlermeldung „Schwerwiegender PHP-Fehler: Verwendung von $this, wenn nicht im Objektkontext'?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage