Nuestro aporte

Depurar aplicaciones PHP ha sido siempre una tarea titánica. Esto no es debido al lenguaje, sino a la arquitectura web que normalmente se utiliza. Lo cierto es que no era habitual contar con depuración paso a paso ni análisis de variables ni con las ayudas habituales de cualquier depurador.

Pero todo esto cambió con XDebug. Ahora sí es posible depurar PHP como es debido.

XDebug incluye soporte para DBGp, un protocolo de comunicación entre herramientas de desarrollo (nuestro Vim) y motores de aplicación (nuestro Apache).

Para instalarlo realizamos dos pasos: primero configuramos el servidor Apache y luego nuestro Vim.

La configuración del servidor Apache consiste en instalarle el módulo XDebug (en Debian apt-get install php5-xdebug).

La configuración de Vim consiste en instalarse el plugin para que actúe como cliente DBGp. La instalación consiste en descomprimir los archivos en el directorio ~/.vim/plugin.

Para utilizarlo primero tenemos que llamar a nuestra aplicación web pasándole el parámetro XDEBUG_SESSION_START=1. Lo hacemos llamando en nuestro navegador a una url del estilo http://example.com/index.php?XDEBUG_SESSION_START=1

Una vez cargada, abre el Vim, pulsa F5 y aparecerá un mensaje "Waiting for a new connection...". Refresca en el navegador la página que quieras depurar y esta aparecerá en tu Vim con varias ventanas de depuración (Watch Window, Help Window, Stack Window y Trace Window). La ventana de Help te mostrará los comandos disponibles (Step Over, Step Into, Toggle Breakpoint, eval...). Todo lo que necesitas para depurar tu aplicación.

Nota: Si F5 está ocupada (por ejemplo por el plugin de Check Syntax) la tecla para iniciar la depuración será F9.

Nota: Si sois varios los que tenéis que trabajar sobre el mismo servidor, necesitaréis asignaros cada uno un puerto diferente. Se explica como hacerlo en la referencia de tech.blog.box.net (más abajo).

Bug: El script de Vim para DBGp no soporta rutas con caracteres no estándar (acentos, eñes...). Además tienes que tener acceso al directorio donde residan los ficheros en el servidor.

 

 

Esta es otra función que ya viene "de serie" con Vim, y además para múltiples lenguajes.

Vim detectará el tipo del fichero y, pulsando CTRL-x CTRL-o mostrará las posibles funciones para completar la palabra que estés escribiendo junto con la información de sus parámetros. ¡Imprescindible!

Para activarla hay que incluir en el fichero .vimrc la sentencia:

setlocal onmifunc=syntaxcomplete#Complete

También es posible activar autocompletar sólo para algunos lenguajes, con sentecias del tipo: setlocal onmifunc=phpcomplete#CompletePHP.

Ya hemos hablado de la utilidad de doblar o esconder partes del código para centrarnos en el área donde estamos trabajando.

El doblado de código es nativo en Vim, no hay que activarlo. Para los ficheros de PHP el doblado debe ser por marca (:set foldmethod=marker). Y, en mi opinión, la mejor marca es la llave de bloque de código (:set foldmarker={,}). La ventaja de utilizar la llave como marca es que no resulta nada intrusiva.

Todos cometemos errores, pero si alguien nos lo chiva antes de ponerlos en funcionamiento, mejor.

De eso se encarga el plugin Check Syntax. Con él, al escribir un fichero PHP a disco, nos informará de los errores sintácticos (si los hay).

Para instalarlo, lo de siempre. Descomprimimos el archivo en nuestro directorio ~/.vim/plugin.

Hay características básicas de IDE que no vamos a explicar aquí. Son propias de Vim y puedes consultar su manejo en la ayuda o en alguno de los koans. Son las siguientes:

  • Facilidades para la Edición de Múltiples Ficheros: En Vim podemos abrir ficheros en pestañas, dividir estas en ventanas y manejar diferentes ficheros en múltiples buffers (visibles o no). Todo esto, en la ayuda de Vim (ver windows.txt, tabpage.txt, usr_07.txt, usr_08.txt, usr_09.txt, usr_23.txt, :help buffer y :help tab)
  • Macros y un buscar/reemplazar superpotentes: La potencia de Vim para crear macros y para buscar y reemplazar es impresionante. Para conocerla, ver usr_27.txt, map.txt, pattern.txt, :help map, :help q y :help search.
  • Movimiento rápido por el código: Con Vim puedes ir, pulsando sólo una o dos teclas, a cualquier parte del código. También puedes crear marcas de navegación (que no se incluyen en el texto). Solo necesitas conocer los comandos adecuados. Para ello, consulta usr_03.txt, usr_29.txt y motion.txt.
  • Realce de sintaxis para diferentes lenguajes de programación: También está incluido en Vim (:syntax enable). Incluso es configurable. Consulta usr_06.txt y syntax.txt.
  • Doblado de Código. El sistema de "doblado de código" de Vim es, problablemente, el más potente. Permite doblar el código tanto por marcas como por sintaxis (para ficheros de marcas tipo XML). Personalmente, creo que la mejor opción es utilizar las propias llaves (:set foldmarker={,}) para doblar el código usr_28.txt y fold.txt.

Como ves, sólo con iniciar Vim ya superas en varios aspectos importantes a cualquier otro IDE. Tienes magníficas pistas sobre como editar texto de forma efectiva en "Seven habits of effective text editing".

Lo que necesitas:

logo transp

Sobre Ilke Benson

Dónde estamos     

C/ Donoso Cortés, 6 - 3º. Oficina 10
06002 Badajoz (Extremadura)

     
Teléfono  

telf: +34 924 98 34 19

fax: +34 924 98 34 19

Email  

  

info@ilkebenson.com

  

Pídenos

Es importante estar conectado con nuestros clientes, según nuestras metodologías de desarrollo, ellos se hacen parte indispensable en el ciclo de vida del proyecto.

Es por este motivo por el cual disponemos de un sistema que permite a nuestros clientes informar de incidencia o solicitar modificaciones de manera priorizada (peticiones de tareas).

Sistema de Gestión de Peticiones de Ilke Benson

Ilke Benson  ©2024 Ilke Benson. All Rights Reserved. Aviso Legal. Diseñado por Ilke Benson

¿Quieres algo concreto?