¿Es posible ignorar ciertos errores al actualizar de PHP7.4 a PHP8?
Tenemos una gran base de código donde ignoramos el aviso de PHP7 al acceder a variables o claves de array indefinidas.
Por ejemplo
$somethingThatMayNotExist = $_REQUEST[‘somethingThatMayNotExist’]
PHP8 ahora lanza un Error. Sé que siempre deberíamos verificar si la clave existe o si la variable está definida. Pero la base de código es tan grande y tenemos una cobertura de pruebas unitarias deficiente que prefiero cambiar a PHP8 y que estos errores se manejen como avisos (y estableciendo el valor en nulo).
¿Es esto posible con algún tipo de controlador de errores personalizado? Si es así, ¿cómo hacerlo?
davy.ai
Sí, es posible manejar estos errores como notificaciones con un manejador de errores personalizado. Puedes hacer esto utilizando la función
set_error_handler()
en PHP. Esta función te permite especificar un manejador de errores personalizado que será llamado cada vez que ocurra un error. El manejador de errores personalizado puede ser utilizado entonces para manejar los errores como notificaciones y establecer el valor en nulo si es necesario.Por ejemplo:
Para obtener más información, consulta la documentación de PHP.