Posted in Javascript, php, tutoriales | |

Hace unos días ante un proyecto un tanto complicado necesitaba poder ir analizando como se comportaba mi script en diversas partes del mismo.

Por lo general solía utilizar otros métodos a titulo de log como ser enviar la información a un archivo utilizando error_log() o enviar la información como comentario html para luego al ver el código fuente poder analizar los resultados, etc..

Para cambiar un poco quería jugar con algo conocido y muy usado cuando trabajo con Ajax…utilizar la consola de Firebug como “log”.

Con lo anterior en la cabeza realice esta pequeña función que espero resulte de utilidad para alguien.

function smrPhp2Firebug( $element, $titulo="" ) {
echo "<script language=\"javascript1.1\" type=\"text/javascript\">\r\n";
echo "if ( typeof loadFirebugConsole == 'function' ) {\r\n";
if ( $titulo!="") {
echo sprintf( "console.log(%s);\r\n", json_encode($titulo ) ) ;
}
echo sprintf( "console.log(%s)\r\n", json_encode($element ) ) ;
echo "}\r\n";
echo "</script>\r\n";
}

La función ya forma parte de mi archivo de rutinas (rutinas.inc.php) y nos permitirá enviar el contenido deseado a la consola de Firebug con una descripción si lo desean.

Si te preguntas para que me serviría esto? Pues piensa en poder saber cómo está siendo armada tú consulta SQL ante los parámetros que recibe…. ó el contenido de una matriz… ó qué valor tiene una variable en determinado momento… ó como está la variable esa que contiene el mensaje que estoy a punto de enviar por correo electrónico… o tantas cosas más…

La forma de uso es sencilla puedes probar ejecutando este pequeño ejemplo:

<?php
#-=[ Incluir la libreria de rutinas ]=-
require_once("rutinas.inc.php");
#-=[ Genero una matriz de 1 dimensión ]=-
$frutas=array("manzana", "pera", "naranja", "kiwi", "mandarina", "mango");
#-=[ Genero una matriz asociativa ]=-
$comunidades=array( "Andalucía" => array("Huelva", "Sevilla", "Córdoba", "Jaén", "Cádiz", "Málaga", "Granada", "Almería")
,"Cataluña" => array("LLeida", "Tarragona", "Barcelona", "Girona")
);
#-=[ Leer Variable que llega por GET lipiando su contenido ]=-
$nombre=smrLimpiarVariables("GET","nombre","0");
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Enviando contenido desde PHP a la consola de Firebug</title>
</head>

<body>
<a href="http://www.adobe-user-group-granada.es">Adobe User Group Granada</a>
<?php
smrPhp2Firebug($frutas, "Matriz de Frutas"); // Muestra de contenido con un título
smrPhp2Firebug($comunidades); // Muestra de contenido sin título
smrPhp2Firebug($nombre, "Variable ingresada por GET");
?>
</body>
</html>

Al ejecutarlo podrán ver en la consola del Firebug algo como la pantalla siguiente (clic en la miniatura para ampliarla):

y si pulsamos cobre el Object podremos expandir su contenido como muestra la siguiente pantalla (clic en la miniatura para ampliarla)

* Recuerda hacer las llamadas a smrPhp2Firebug() dentro de tu etiqueta body. Ya sabrás porque :)

Es importante que les comente que luego de hacer esto se me ocurrió ver si la rueda no estaba inventada. Obviamente debería haberlo hecho antes pero bueno la función tampoco es que tenga mucha tarea ;) . Al investigar un poco encontré que en la red tenemos algunos post de utilidad con respecto al aprovechamiento de FireBug como ser estos:

Así que como siempre digo… Sobre gustos :) pero bueno lo importante es que le saquemos el mayor provecho a esta herramienta llamada FireBug. Que no tienes idea de donde bajarlo pues de aquí: http://getfirebug.com/

Ah y el ejemplo queda aquí por si quereís verlo… recuerda tener el Firebug activo!

Leave a Reply