Cómo escribir tu propia función para depurar


Para depurar en PHP podemos usar las funciones print_r() y var_dump().
Lo malo de print_r es que muestra el resultado formateado en texto, produciendo una salida difícil de leer cuando el resultado es extenso.
En lo personal var_dump() no lo utilizo tanto como print_r() dado que solo me interesa saber la clave y el valor de un array y var_dump muestra además de estos valores, el tipo de dato, lo bonito de var_dump es que el resultado lo muestra formateado en html haciendo más fácil la lectura.

Para facilitar la depuración he creado una función llamada dd() (si como en laravel, anteriormente la llamaba debug() ), está la utilizo en codeigniter pero puede ser aplicada o reescrita para cualquier framework. 
La historia de esta función es: 
  • Algo vi que utilizaban cuando me mandaron a CDMX para apoyar con el proyecto de un cliente, mi compañero hizo una función que llamó __() (doble guion bajo), la cual usabamos en YiiFramework.
  • En mercadojobs usábamos la función debug() que es similar a la que presentaré.
  • Yo le llamaba debug() también pero para fines prácticos me gusto el nombre que usa laravel dd(): "Dump and Die" y por default hago que muera el script con un exit();
​Básicamente lo que hace es que si la variable a debuggear es un array entonces se usa print_r() dándole formato con un tag “pre”.
Si es un objeto entonces se usa var_dump.
Y si es un escalar entonces usar var_dump.
La función además muestra, si esta disponible, la clase y el método así como la línea, el archivo donde se invocó.
 

Espero sea de utilidad.

Saludos.

Comentarios

Y para consola?

Añadir nuevo comentario