jueves, 19 de marzo de 2009

Tutorial: Debugando PHP con Eclipse

¡Hola de nuevo! Ayer me pasé horas configurándome un entorno de programación óptimo para debugar PHP. Como servidor uso XAMPP, que incluye Apache, MySQL y todo lo que necesito para empezar a programar. Sólo me quedaba buscar un IDE, y estos son los pasos que seguí, gracias a algunos tutoriales que me encontré por la red:

¿Qué IDE usar?

Según he leído en varios tutoriales y webs especializas, uno de los mejores entornos para programar en PHP es Eclipse. Me bajé EasyEclipse, pero tuve problemas para instalar XDebug y algún que otro plug-in adicional (como el plug-in para Smarty). Así que seguí buscando y me encontré un "All-in-one" (todo en uno):

PDT (Php Development Tools)

Para instalarlo, bájate el archivo, lo descomprimes y te creas un acceso directo a eclipse.exe en el escritorio. El paso siguiente es habilitar XDebug. En mi instalación de XAMPP, la extensión ya estaba en la carpeta de extensiones de PHP (xamp/php/ext). Si no tienes php_xdebug.dll puedes bajarte el archivo en http://xdebug.org.

Una vez te has asegurado de que la librería está presente, hay que habilitarla en php.ini. Ejecuta phpinfo() para estar seguro de dónde está el archivo que Apache está cargando. En mi caso está en xamp/apache/bin. Abre el archivo y descomenta la linea:

extension=php_xdebug.dll

En la sección XDebug de php.ini, descomentar o añadir estas lineas:
xdebug.remote_enable=true
xdebug.remote_host="localhost"
xdebug.remote_port=9000
xdebug.remote_handler="dbgp"
zend_extension_ts="ruta_extensiones_php\php_xdebug.dll"
Ahora reinicia Apache y ejecuta phpinfo() de nuevo, para ver si se ha cargado XDebug.

Probar el debugger

Si puedes ver XDebug en phpinfo(), ya puedes abrir eclipse y crear un proyecto de prueba. Si quieres probar con proyectos existentes, tendrás que convertirlos a "PDT projects". Para ello, abre el archivo .project y cambia el nodo :

org.eclipse.php.core.PHPNature

En las propiedades del proyecto, establece qué servidor usarás. Ya puedes iniciar el debugger.

Notas adicionales

Aquí dejo un documento bastante interesante sobre este tema para profundizar. Conforme vaya haciendo más pruebas, iré ampliando esta entrada.

Si preferís usar el Zend Debugger, aquí van las instrucciones de instalación y configuración.

Comenzando el desarrollo

Hace unas semanas compré el libro Practical Web 2.0 Applications with PHP, de la editorial Apress, una obra que recomiendo. También adquirí el título Facebook Cookbook: Building Applications to Grow Your Facebook Empire (Jay Goldman), que sólo he ojeado pero promete.

Mi objetivo es desarrollar una web que tenga una utilidad, sí, pero también aprender por el camino. Y hay dos cosas que quisiera controlar: Zend Framework y jQuery. Además, para desarrollar eightnotes.org usaré el sistema de plantillas Smarty. Lo máximo sería que, después de colgar la web, creara una versión de la misma en forma de aplicación Facebook (antes de que se pase de moda, a ser posible).

Ahora mismo estoy en fase de experimentación con Zend Framework en conjunción con Smarty. Tengo un dominio de pruebas (shouldbehere.com) donde haré experimentos. En breve publicaré mis avances.