Web BizarroWeb Bizarro

Suscríbete a nuestro Newsletter

X

Únete a nuestra lista de correos para recibir semanalmente actualizaciones de nuestro contenido.

Olvídate del die() en php con PsySH

Olvídate del die() en php con PsySH 07.NOV.14

Alvaro José Rios Ch
Fundador WebBizarro

Todos los que hemos desarrollado en php alguna vez usamos el comando die() para detener la ejecución de nuestro programa y un var_dump para hacer un debug de nuestras aplicaciones sin embargo esta no es la mejor forma ya que siempre quedan cosas por revisar y no tenemos una vista clara del problema, además quien no ha usado la consola de JavaScript para probar algún snipet de código y lo ha extrañado cuando programa en php.

PsySH es una herramienta que te permitirá tener una vista clara de todo tu proyecto. PsySh cuenta con una serie de comandos que puedes usar para mejorar tu productividad y la calidad de los proyectos, además es muy fácil se usar si estas familiarizado con el uso de la consola de comandos.

- doc, te permite ver la documentación de funciones php, además también te permite ver la documentación de las propiedades de los objetos, cosa que es muy útil.
- list, es una excelente herramienta ya que consigue todas las variables, constantes, clases, métodos, funciones y propiedades que estén relacionadas a tu búsqueda en todo tu proyecto.
- show, te muestra el código fuente de cualquier objeto, variable, clase, método o propiedad en tu proyecto.
- wtf, te muestra una captura detallada de la pila de excepciones capturadas por PsySH, por lo que no tienes que preocuparte por ver solo la última.
- history, te permite ver el historial de comandos ejecutados en la terminal.

 

Además la herramienta es muy flexible y te permite crear tus propios comandos, por lo que puedes extender sus funciones.

Al ejecutar la herramienta puedes colocar código php directamente en la consola y ver el resultado de la ejecución de forma interactiva, algo como la consola de JavaScript en los navegadores.

>>> function timesFive($x) {
...     $result = $x * 5;
...     return $result;
... }
=> null
>>> timesFive(10);
=> 50
>>>

Finalmente también puedes usarPsySH como debugger, simplemente tienes que importar la librería en tu proyecto y ejecutar \Psy\Shell::debug(get_defined_vars());donde quieras colocar un breakpoint, esto detendrá la ejecución y te mostrará el estado actual de todas las variables.