Depuración de código con PHP - Grupo de Procesamiento del Lenguaje...

Post on 30-Jun-2020

9 views 0 download

Transcript of Depuración de código con PHP - Grupo de Procesamiento del Lenguaje...

Depuración de código con PHP

Ramón Muñiz Sánchez

2

INDICE

Introducción.

Funciones internas de PHP.

Funciones externas de PHP.

Referencias

Fin

3

Introducción

Al programar en cualquier lenguaje de programación se pueden cometer errores.

La mayoría de las veces, suelen ser errores de fácil solución.

Aunque a veces,no tienen solución trivial y necesitamos conocer los valores de nuestras variables para corregirlo.

4

Introducción

Para ello existen dos tipos de “herramientas” de depuración.

En este caso vamos a clasificarlas en dos conjuntos.– Herramientas proporcionadas por el lenguaje.– Funciones externas.

5

Funciones internas de PHP

Son aquellas funciones que proporciona PHP que se pueden usar para depurar código.Estas funciones permiten conseguir información sobre las variables que usamos:– print ().– print_r().– var_dump().– gettype()– is_string(),is_integer(),is_array(),etc.

6

print

print();– Función que añade datos a la respuesta HTML del

script.– Podemos usarla para generar código HTML con

datos de nuestras variables.– Uso:

print (“$nombre_variable”)

7

print_r

Función que imprime información sobre una variable

Uso:– print_r ($variable,[bool devolver])

$variable: variable a mostrar

bool devolver: si es true, devuelve la salida y a false, la imprime

8

var_dump()

Devuelve el tipo de la variable y su contenido

Uso:– var_dump($variable);

9

gettype ()

Instrucción que devuelve una cadena con el tipo de la variable que le pasemos.

Uso:– gettype($variable)

10

is_string(),is_integer(),is_array(),...

Funciones equivalentes a gettype().

Mayor velocidad que gettype().

Devuelven true si son del tipo especificado

is_integer(),is_int(), is_bool(),is_float(),

is_double(),is_array(),is_string(),etc...

Uso:– is_string($variable)

11

Ejemplo de uso

ejemplo de uso

12

Funciones externas de PHP

Estas funciones aumentan la capacidad de depuración, permitiendo comprobar los scripts sin necesidad de mostrar datos en HTML.

Algunos de ellos:– APD– Gubed– Xdebug– ZendStudio

13

APD

Conjunto de funciones que realizan trazas de los scripts.

Es necesario instalar la librería en el servidor.

Funciona haciendo llamadas a las funciones implementadas por la librería.

Multiplataforma.

Gratuito

14

APD. Uso(I)

1. apd_set_pprof_trace(); Función que inicia la depuración del script.

2. Ejecución del script.

3. Revisión del fichero “apd.dumpdir/pprof_pid.ext.”

15

APD.Uso (II)

Resultado de usar APD

16

Gubed

Programa de depuración de PHP

Necesita un servidor con PHP.

Existe una implementación como plugin de Mozilla

Permite depuración interactiva.

Gratuito.

Multiplataforma.

17

Gubed. Uso

Ejecución de script dentro del programa

Posibilidad de colocar paradas de ejecución.

Ejecutar paso a paso o por bloques el codigo.

Mostrar valores de las variables.

18

Gubed.Ejemplo

19

Xdebug

Extensión que permite la traza de las llamadas a funciones.

Es necesario instalación en servidor PHP

Muestra los resultados de la depuración en HTML.

20

Xdebug. Uso

xdebug_start_trace(); Función para iniciar la traza.

Añadir funciones de Xdebug que devuelvan datos sobre el script.

Ejecutar script en navegador.

Muestra el resultado de la traza en HTML o en fichero de texto.

21

Xdebug.Ejemplo

Ejemplo depuración en HTML

Ejemplo depuración en fichero de texto

22

ZendStudio

IDE de desarrollo PHP.

Incorpora su propio depurador.

No necesita instalar nada en el servidor.

No necesita añadir código adicional al script.

23

ZendStudio. Uso

En el mismo IDE, se ponen los puntos de parada de la ejecución.

Se van pulsando los botones de arriba/abajo para ir pasando la ejecución.

Se muestran los valores de las variables y el tipo que son.

24

ZendStudio.Ejemplo

Ejemplo depuración con ZendStudio.

26

Fin

¿Preguntas?