Informationen zum statischen Methodenaufruffehler
In PHP stößt das bereitgestellte Codefragment auf die Fehlermeldung:
Strict standards: Non-static method Page::getInstanceByName() should not be called statically in /var/www/webworks/index.php on line 12
Dieser Fehler tritt auf, wenn eine nicht statische Methode in der Page-Klasse statisch aufgerufen wird, was nicht der Fall ist zulässig.
Behebung
Um dieses Problem zu beheben, muss die Methode getInstanceByName() in der Page-Klasse als statisch deklariert werden. Ändern Sie die Zeile:
function getInstanceByName($name='')
in:
public static function getInstanceByName($name='')
Indem Sie die Methode als statisch deklarieren, können Sie sie mit dem Klassennamen aufrufen, etwa:
$r = Page::getInstanceByName($page);
Zusätzliche Überlegungen
Das obige ist der detaillierte Inhalt vonWarum führt der statische Aufruf einer nichtstatischen Methode in PHP zu einem Fehler?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!