Heim > Backend-Entwicklung > PHP-Tutorial > Wie behebe ich den PHP-Fehler: „Nicht-statische Methode wird statisch aufgerufen'?

Wie behebe ich den PHP-Fehler: „Nicht-statische Methode wird statisch aufgerufen'?

DDD
Freigeben: 2024-11-24 00:36:16
Original
676 Leute haben es durchsucht

How to Resolve the PHP Error:

PHP-Fehler: Nicht-statische Methode wird statisch aufgerufen

Die Fehlermeldung „Strenge Standards: Nicht-statische Methode Page::getInstanceByName()“ sollte nicht statisch aufgerufen werden“ in PHP zeigt an, dass Sie versuchen, eine nicht statische Methode so aufzurufen, als ob dies der Fall wäre static.

Statische Methoden verstehen

Statische Methoden sind Klassenmethoden, die aufgerufen werden können, ohne ein Objekt der Klasse zu instanziieren. Sie werden mit dem Schlüsselwort static deklariert. Statische Methoden werden normalerweise für Dienstprogrammfunktionen oder für den Zugriff auf Klasseneigenschaften verwendet.

Beheben des Fehlers

Im bereitgestellten Code befindet sich die Methode getInstanceByName() in der Page-Klasse nicht als statisch deklariert. Um den Fehler zu beheben, fügen Sie der Methodendeklaration das Schlüsselwort static hinzu:

public static function getInstanceByName($name='') {
    // Method implementation...
}
Nach dem Login kopieren

Nachdem Sie diese Änderung vorgenommen haben, sollten Sie in der Lage sein, getInstanceByName() aufzurufen, ohne den Fehler zu erhalten.

Überlegungen zur Testbarkeit

Auch wenn statische Methoden praktisch sein können, ist es wichtig zu beachten, dass sie Unit-Tests erschweren können. Dies liegt daran, dass statische Methoden nicht an bestimmte Instanzen einer Klasse gebunden sind und daher nicht isoliert verspottet oder einfach getestet werden können.

Abfragen im Konstruktor

Das ist auch der Fall Erwähnenswert ist, dass der Page-Klassenkonstruktor übermäßige Abfragen enthält, die sich auf die Leistung und die Lesbarkeit des Codes auswirken können. Erwägen Sie eine Umgestaltung des Codes, um die Abfrage auf eine separate Methode zu verlagern oder die erforderlichen Daten über die Abhängigkeitsinjektion einzufügen.

Das obige ist der detaillierte Inhalt vonWie behebe ich den PHP-Fehler: „Nicht-statische Methode wird statisch aufgerufen'?. 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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage