Cómo Debuggear Eficazmente en PHP Usando Xdebug

El desarrollo en PHP puede ser desafiante, especialmente cuando se trata de depurar código. Tradicionalmente, hemos recurrido a var_dump(), print_r(), o dd() para esta tarea, pero estos métodos tienen sus limitaciones. Aquí es donde Xdebug se convierte en un cambio de juego, ofreciendo capacidades de depuración avanzadas comparables a las que se encuentran en Java o .NET.

 ¿Que es Xdebug?

Xdebug es un depurador PHP poderoso que mejora significativamente el proceso de depuración. Permite seguir la ejecución del código paso a paso, inspeccionar la pila de llamadas, y evaluar variables en tiempo real, transformando la manera en que debuggeamos en PHP. 

Beneficios de Usar Xdebug para Debugging en PHP:

  • Optimización de Código: Permite refinar el código para mejorar la eficiencia y el rendimiento.
  • Detección de Bugs: Facilita la identificación y corrección de errores en etapas tempranas del desarrollo.

¿ Porque debuggear el código?

El debug sirve para optimizar el código además de para detectar posibles bugs de diversa gravedad. A base de pruebas es más fácil ir mejorando las funcionalidades, depurando el código para que este sea más eficiente y utilice de manera más eficaz los recursos del hardware.

¿Cómo instalarlo?

 En esta entrada voy a configurar Visual Studio Code y XAMPP para trabajar en PHP.  El proceso de
configuración sería el siguiente:

 Primeros configuramos el entorno de XAMPP

  1. Descargar Xdebug
    para la versión especifica de PHP  (PHP 8.0 (64-Bit) o PHP 8.1 (64-Bit))
  2. Mover el archivo dll
    descargado a la ruta: C:\xampp\php\ext

    1. (Opcional) renombrar
      el archivo dll descargado: php_xdebug.dll
  3. Ahora debes abrir el
    fichero  C:\xampp\php\php.ini con Notepad++ o el blog de notas
  4. Ir a la línea
    output buffering y deshabilitala:  output_buffering = Off
  5. En el mismo archivo
    php.ini, baja hasta encontrar la sección  [XDebug]  (de no existir
    créala), copia y pega estas líneas:
     

[XDebug]
zend_extension=C:\xampp\php\ext\php_xdebug.dll
xdebug.mode=debug
xdebug.client_host = 127.0.0.1
xdebug.client_port = 9003
xdebug.start_with_request=trigger

Por último reinicia el servidor apache en XAMPP

Ahora vamos con la configuración en VSC.

Ir al apartado de extensiones y descargar la extensión de Xdebug

                    

Una vez descargada e instalada la extensión, créate un pequeño fichero de ejemplo. En mi caso he creado un index.php y añade unos cuantos puntos de ruptura.

                  

Pulsa en el botón superior derecho con el símbolo del Debug PHP, y la magia comenzará a funcionar

Espero que esto te pueda ayudar para resolver algunos quebraderos de cabeza a la hora de hacer debugging en tu código.

Adicionalmente, para proyectos en los que quieras o necesites ejecutar test con covertura. Solo tendrías que cambiar la línea

xdebug.mode=debug por xdebug.mode=coverage

y ejecutar el comando vendor/bin/phpunit --coverage-html reports/

Al correr los test con convertura, phpunit te genera un informe indicandote que partes de tú código están sin testear y que partes sí.

Xdebug transforma el debugging en PHP, brindando herramientas avanzadas que facilitan la identificación y corrección de errores, y la optimización del código. Sigue estos pasos para configurar Xdebug en tu entorno de desarrollo y lleva tu habilidad de depuración al próximo nivel.

¿Listo para mejorar tu experiencia de debugging en PHP? Configura Xdebug hoy y comparte cómo ha cambiado tu flujo de trabajo. Si este tutorial te ha sido útil, no olvides compartirlo en tus redes sociales. ¡Feliz debugging!

Si te gustó está entrada y crees que puede ser de utilidad o interés,  comparte este artículo en tus redes sociales 😉 👍

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *