$a = array(9,12,34,56,78);
echo "La variable a vale: $a
";
{{ :clase:daw:dws:1eval:depuracion01.png?400 |}}
Si observamos la salida del navegador, vemos que la única información que nos da sobre la variable es que es un //array//, pero no nos muestra sus valores por ningún lado.
Para mostrar los valores de los tipos de datos complejos, tenemos otras dos funciones que nos pueden ser útiles: [[https://www.php.net/manual/es/function.print-r.php|print_r]] y [[https://www.php.net/manual/es/function.var-dump.php|var_dump]].
La función //print_r// imprime información legible para los humanos sobre una variable.
$a = array(9,12,34,56,78);
print_r ($a);
{{ :clase:daw:dws:1eval:depuracion03.png?400 |}}
Esta función ya nos muestra los valores del //array//, aunque sigue sin darnos mucha más información y el formato no es muy cómodo.
Podemos anidarla con la etiqueta //// de HTML para mejorar la legibilidad.
$a = array(9,12,34,56,78);
echo "”;
print_r ($a);
echo "
”;
{{ :clase:daw:dws:1eval:depuracion04.png?400 |}}
Si queremos mostrar más información, podemos usar //var_dump//. Además de mostrarnos el valor de la variable, nos muestra el número de elementos del //array// y el tipo de datos de los valores.
$a = array(9,12,34,56,78);
echo "”;
var_dump ($a);
echo "
”;
{{ :clase:daw:dws:1eval:depuracion05.png?400 |}}
En cualquier caso, tener que escribir tres líneas de código para mostrar el valor de una variable puede ser un tanto engorroso.
Aunque hay ocasiones en que mostrar los errores por pantalla se queda cortos a la hora de depurar, sigue siendo uno de los métodos más utilizados para encontrar errores en los ficheros PHP.
Existen librerías de terceros que nos facilitan la visualización de las variables en PHP. Una que es muy útil y cómoda de utilizar es [[https://packagist.org/packages/larapack/dd|larapack/dd]], que podemos instalar en nuestros proyectos (es bastante aconsejable) mediante **composer** como veremos en temas posteriores.
===== Xdebug y PHP Debug =====
Otra de las opciones que tenemos para aprovechar la potencia de los depuradores es instalar alguna herramienta implementada por terceros. Una de las más populares a la hora de depurar PHP es [[https://xdebug.org/|Xdebug]] en combinación con algún plugin de //VSC// como [[https://marketplace.visualstudio.com/items?itemName=xdebug.php-debug|PHP Debug]].
Para instalar //Xdebug// basta con ir al apartado [[https://xdebug.org/docs/install|instalación]] de su web y seguir las instrucciones según el sistema operativo que estemos usando.
Por su parte, //PHP Debug// se instala como cualquier otra extensión de //VSC//. Pulsamos //CTRL+p// para abrir la barra de búsqueda y añadimos el código para instalar la extensión (también podemos buscarla directamente en el apartado extensiones).
Después tendréis que configurar algunos parámetros dependiendo de que servidor HTTP estéis utilizando, sistema operativo, ubicación de vuestras webs…
Una vez instalada la extensión, ya podéis utilizar las herramientas propias de un depurador, como //breakpoints//, //watches//…
Además, si tenemos instalado //Xdebug//, se modificará el formato en que nos muestra los errores y la forma de visualizar las variables mediante //var_dump//, con lo que no hará falta usar.
{{ :clase:daw:dws:1eval:depuracion07.png?400 |}}
{{ :clase:daw:dws:1eval:depuracion06.png?400 |}}