Ladybug Bundle, ¡ te ahorrará tiempo !

20 julio, 2015

Ladybug Bundle

Después de una semana de poca inspiración y mucho trabajo, aquí me tienen con esta herramienta que seguramente les ahorrará mucho tiempo al desarrollar código con Symfony 2. Les cuento…

Cuando te dedicas a desarrollar sistemas en cualquier lenguaje, es muy importante contar con una herramienta que te permita depurar el código para que te des cuenta de algún detalle que pueda estar ocasionando que no haga lo que esperabas hiciera. Para Symfony, existe un bundle que te facilita esa depuración de código y por lo tanto te ahorra tiempo además de dolores de cabeza.

El bundle se llama “Ladybug Bundle“, remplaza a las funciones var_dump() y print_r(). Su creador es Raúl Fraile y lo puedes encontrar en https://github.com/raulfraile/LadybugBundle si quieres contribuir 😉

El proceso de instalación no es muy diferente de otros bundles, primero debes añadir la siguiente línea al composer.json:

"raulfraile/ladybug-bundle": "~1.0"

OJO: Es importante que escribas la versión correcta para que tengas las funcionalidades que describo abajo.

Después deberás actualizar tu composer con el comando composer update y por último registra tu bundle en el AppKernel.php agregando al arreglo de bundles la línea:

new RaulFraile\Bundle\LadybugBundle\RaulFraileLadybugBundle(),

¡Listo! Ahora ya lo tienes en tu proyecto.


 

Para poder utilizarlo necesitas saber cuales son sus principales métodos:

  1. ladybug_dump(), te va a permitir lo que llevan las variables como objetos, arreglos o variables simples. Este código lo escribes dentro del controlador, en cualquier línea de código donde necesites saber que trae la variable.
  2. ladybug_dump_die (), igual que la anterior te muestra lo que lleva tu variable pero detiene la ejecución en ese punto y salta a mostrarte el resultado de lo que contiene.

Ambas opciones tienen su versión corta, para la primera también puedes llamar con ld() y la segunda con ldd(). Recuerda colocar entre los paréntesis la variable y terminar con un punto y coma.

En la última versión de este bundle tienes la opción de depurar desde el twig también usando algo como:

{{ dump(mivariable) }}

Claro que debes cuidar que estés mandando del controlador dicha variable porque si no llega al twig es imposible leerla. Debo mencionar que la función ladybug_dump() es la única que funciona con twig. Otras funciones del Ladybug Bundle son:

* ladybug_dump_return() o ldr() Te regresa el contenido de una o más variables pero te regresa el dump en el formato que tu decidas, debes ponerlo en la primera opción, es decir: ladybug_dump_return($formato, $variable). Estos formatos pueden ser: yml, json, xml o php para un arreglo en php.

* ladybug_dump_ini([$extension]) te regresa rodas las opciones de configuración de la extensión que le indiques.

* ladybug_dump_ext() trae las extensiones de PHP cargadas

Por último, tienes otra forma de utilizar el ladybug y es que, en lugar de ver el resultado en el documento html, lo puedas ver en el árbol de las opciones de Symfony o Symfonyprofiler de tu barra de desarrollo:

Para esto, tienes que hacer algo como esto:

$variable = 1;

$this->get(‘ladybug’)->log($variable);

Entonces tendrás una pantalla como esta en tu Profiler:

Symfony Profiler

 

¿Qué tal? Pruebalo y me cuentas si te gusta, estoy segura que te será de utilidad. En El libro de los Bundles te hablaré más de este y otros bundles. El mes siguiente terminaré el capítulo sobre los bundles de este tipo. Te invito a suscribirte aquí para que recibas una súper sorpresa a inicios de Agosto 😉

¡Hasta la próxima!