¿Cómo puedo resolver que "el método no estático xxx: xxx () no debería llamarse estáticamente en PHP 5.4?
Actualmente utilizando una gran plataforma en PHP.
El servidor en el que está alojado se ha actualizado recientemente a PHP 5.4.
Desde entonces, he recibido muchos mensajes de error como:
[Sábado 26 de mayo 19:04:41 2012] [error] Estándares estrictos de PHP: el método no estático Config :: getData () no debe llamarse de forma estática, suponiendo $ esto del contexto incompatible en /xxx/Config.inc.php linea 35
El método de ejemplo se define como (tenga en cuenta la falta de palabra clave 'estática'):
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;
}
Esto no ha causado un problema anteriormente, y asumo que los mensajes de error (que causan que la aplicación se bloquee) pueden estar relacionados con la actualización reciente a PHP5.4.
¿Hay alguna configuración de PHP que pueda modificar para "ignorar" la falta de palabras clave estáticas?