Skip to content

Instantly share code, notes, and snippets.

@demonio

demonio/console.php

Last active Mar 7, 2020
Embed
What would you like to do?
Clase para imprimir variables PHP en la consola del navegador

Usar en modelos, controladores o vistas a discreción de la siguiente forma:

<?php
$var = array('Oh', 'yes', 'baby', '!!');
echo Console::log('un_nombre', $var);
<?php
/**
* Clase para imprimir variables PHP en la consola del navegador.
*
* Esta clase ha sido creada a partir de esta otra:
* http://www.codeforest.net/debugging-php-in-browsers-javascript-console
*/
class Console
{
/**
* @param string $name Nombre único para poder ejecutar esto varias veces en el mismo documento
* @param mixed $var Una variable cadena, objeto, matriz o lo que sea
* @param string $type (debug|info|warn|error)
* @return html
*/
public static function log($name, $var, $type='debug')
{
$name = preg_replace('/[^A-Z|0-9]/i', '_', $name);
$types = array('debug', 'info', 'warn', 'error');
if ( ! in_array($type, $types) ) $type = 'debug';
$s = '<script>' . PHP_EOL;
if ( is_object($var) or is_array($var) )
{
$object = json_encode($var);
$object = str_replace("'", "\'", $object);
$s .= "var object$name = '$object';" . PHP_EOL;
$s .= "var val$name = eval('('+object$name+')');" . PHP_EOL;
$s .= "console.$type(val$name);" . PHP_EOL;
}
else
{
$var = str_replace('"', '\\"', $var);
$s .= "console.$type($var);" . PHP_EOL;
}
$s .= '</script>' . PHP_EOL;
return $s;
}
}
@mastercoria

This comment has been minimized.

Copy link

@mastercoria mastercoria commented Sep 24, 2017

Esa madre no sirve.

@Metalride

This comment has been minimized.

Copy link

@Metalride Metalride commented Oct 31, 2018

Gracias, me ha sido de gran ayuda.
Solo apuntar que la salida no la hace por la consola, sino por el response de php en la pestaña network.
Saludos

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment