Die Fehlermeldung „Strenge Standards: Nicht-statische Methode sollte nicht aufgerufen werden.“ „Statisch aufgerufen“ tritt auf, wenn über einen statischen Aufruf auf eine nicht statische Methode zugegriffen wird. Um diesen Fehler zu beheben, werden wir den Code ändern, um sicherzustellen, dass alle Methoden als statisch deklariert werden, wenn sie statisch aufgerufen werden sollen.
Im bereitgestellten Code werden die Methoden in der Page-Klasse nicht als statisch deklariert, sondern Sie werden als statisch bezeichnet. Um dieses Problem zu lösen, müssen wir den Methodendeklarationen das Schlüsselwort static hinzufügen.
Page.php ändern
class Page{ // ... public static function getInstanceByName($name=''){ // ... } // ... }
Indem wir diese Methoden statisch machen, können sie dies tun Der Zugriff erfolgt über den Klassennamen, wie in der Datei index.php zu sehen:
// ... if($page){ // load by name $r = Page::getInstanceByName($page); if($r && isset($r->id)) $id = $r->id; } // ...
Zusätzlich Hinweise
Das obige ist der detaillierte Inhalt vonWie behebt man den PHP-Fehler „Strenge Standards: Nicht-statische Methode sollte nicht statisch aufgerufen werden'?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!