Depuración en php de forma oculta

Depuración en php de forma oculta

Cuando se trabaja en producción (sobre los archivos de la aplicación "trunk"), práctica poco aconsejable en programación.  Muchas veces es necesario hacer una depuración, el tipico var_dump($Variable) de una variable. No está bien por seguridad y por estética renderizar el contenido para cualquier usuario. Con esto quiero decir que si tenemos una aplicación web en php que está siendo utilizada y debemos hacer la traza de algunos datos, por ejemplo un arreglo con distintos campos privados, como el nombre de una tabla, el nombre del servidor,  el email de un usuario etc.   Si ejecutamos: var_dump($arArreglo), escribiremos en pantalla y todos los usuarios que esten haciendo uso de la misma veran el contenido. Por eso me he creado mi función personalizada.  Esta llamada "mibug" la describo a continuacion.  Logicamente esta solo servira si se cuenta con más de una ip pública.  Ejemplo: El dpto. de software de una empresa sale a internet por un router y el resto de departamentos por otro.   ...continuamos. Una idea de donde la puedes colocar es en: CakePHP:  archivo bootstrap Wordpress:  archivo functions.php o en un archivo tipo configuracion p.e. configure.php, que este disponible en todo tu proyecto //$Variable: mixed. La variable de cualquier tipo a visualizar //$sNombreVariable: String. Opcional. Muestra el nombre de la variable que se va //a visualizar. //$isDie: boolean. Opcional. Se indica si despues del var_dump se acabara la ejecucion //del script. function mibug($Variable, $sNombreVariable='', $isDie=false) { //MIIP: Constante global definida en un archivo con alcance desde //cualquier parte de tu proyecto. if($_SERVER['REMOTE_ADDR']==MIIP) { echo "<br /><br />====MI BUG ===="; echo "<br />Variable: " . $sNombreVariable . "<br /><br />"; var_dump($Variable); echo "<br /><br />====FIN $sNombreVariable ====="; if($isDie) { die; } } } Previamente a esto habria que definir una "CONSTANTE" global.  La creariamos al igual que la funcion anterior.  En algun archivo de caracter global.  Un link que te puede ayudar a descubrir cual es tu ip pública es: "http://www.cualesmiip.com" //En CakePHP: archivo bootstrap //En Wordpress: archivo functions.php //o en un archivo tipo configuracion p.e. configure.php, que este //disponible en todo tu proyecto define('MIIP','89.129.241.143');

Ejemplo:

//Trozo de codigo en wordpress. //get_post_meta. Funcion que devuelve el contenido de tus campos personalizados, en este tengo uno llamado 'imagen-thumb-lista' $sUrlThumb = get_post_meta($post->ID, "imagen-thumb-lista", true); //llamo a mi funcion definida en functions.php mibug($sUrlThumb,'$sUrlThumb');

Resultado:

========MI BUG ====== Variable: $sUrlThumb string(98) "http://www.eduardoaf.com/thumbs/articulos/mi-thumb-01.jpg" ======FIN $sUrlThumb ====

Autor: Eduardo A. F.
Publicado: 06-11-2010 12:21
Actualizado: 15-12-2010 23:05