Jak mogę rozwiązać „Niestatyczną metodę xxx: xxx () nie należy wywoływać statycznie w PHP 5.4?
Obecnie używa dużej platformy w PHP.
Serwer, na którym jest hostowany, został niedawno zaktualizowany do wersji PHP 5.4.
Od tego czasu otrzymałem wiele komunikatów o błędach, takich jak:
[Sob 26 maja 19:04:41 2012] [błąd] Ścisłe standardy PHP: Niestatyczna metoda Config :: getData () nie powinna być wywoływana statycznie, zakładając, że $ to z niezgodnego kontekstu w /xxx/Config.inc.php on linia 35
Przykładowa metoda jest zdefiniowana jako (zwróć uwagę na brak słowa kluczowego „static”):
function &getData() {
$configData =& Registry::get('configData', true, null);
if ($configData === null) {
// Load configuration data only once per request, implicitly
// sets config data by ref in the registry.
$configData = Config::reloadData();
}
return $configData;
}
Nie spowodowało to wcześniej problemu i zakładam, że komunikaty o błędach (które powodują awarię aplikacji) mogą być związane z ostatnią aktualizacją do PHP5.4.
Czy istnieje ustawienie PHP, które mogę zmodyfikować, aby „zignorować” brak statycznego słowa kluczowego?