es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿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?

Tags:  ,

Answer

  1. Avatar for 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:

    function customErrorHandler($errno, $errstr, $errfile, $errline) {
        // Manejar el error como una notificación y establecer el valor en nulo
        // ...
    }
    
    set_error_handler("customErrorHandler");
    

    Para obtener más información, consulta la documentación de PHP.

Comments are closed.