Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Luis Paullo

saida php no console (firebug e outros)

Recommended Posts

Bom so um usuario fiel do bom e não tão velho assim var_dump() =D

 

na minhas andanças pela net achei um script bacana que faz a saida do php aparecer no console..

 

Enfim nao parece tão util,sendo q faz o msm que o var_dump, print_r, echo e tudo mais ^^

 

Mais há quem goste de debuga de forma simples as 'saidinhas' do php, no console como em javascript =D

 

acho que firephp (addons do firefox), faça o msm, porem não consegui configura ele U.u

 

os creditos não são meus pelo script (so os gringo tem as moral d cria uns script assim kkkkkkkkkkk.. pior q e simprão d tudo essa bagaça ..)

 

/**
* Logs messages/variables/data to browser console from within php
*
* @param $name: message to be shown for optional data/vars
* @param $data: variable (scalar/mixed) arrays/objects, etc to be logged
* @param $jsEval: whether to apply JS eval() to arrays/objects
*
* @return none
* @author Sarfraz
*/
function logConsole($name, $data = NULL, $jsEval = TRUE) {
   if (!$name)
       return false;

   $isevaled = false;
   $type = ($data || gettype($data)) ? 'Type: ' . gettype($data) : '';

   if ($jsEval && (is_array($data) || is_object($data))) {
       $data = 'eval(' . preg_replace('#[\s\r\n\t\0\x0B]+#', '', json_encode($data)) . ')';
       $isevaled = true;
   } else {
       $data = json_encode($data);
   }

   # sanitalize
   $data = $data ? $data : '';
   $search_array = array("#'#", '#""#', "#''#", "#\n#", "#\r\n#");
   $replace_array = array('"', '', '', '\\n', '\\n');
   $data = preg_replace($search_array, $replace_array, $data);
   $data = ltrim(rtrim($data, '"'), '"');
   $data = $isevaled ? $data : ($data[0] === "'") ? $data : "'" . $data . "'";

   $js = <<<JSCODE
\n<script>
    // fallback - to deal with IE (or browsers that don't have console)
    if (! window.console) console = {};
    console.log = console.log || function(name, data){};
    // end of fallback

    console.log('$name');
    console.log('------------------------------------------');
    console.log('$type');
    console.log($data);
    console.log('\\n');
</script>
JSCODE;

   echo $js;
}

 

USANDO

$name = 'sarfraz';

$fruits = array("banana", "apple", "strawberry", "pineaple");

$user = new stdClass;
$user->name = "Sarfraz";
$user->desig = "Sr. Software Engineer";
$user->lang = "PHP";

logConsole('$name var', $name);
//chamando a função - e saido no console
logConsole('An array of fruits', $fruits);
logConsole('$user object', $user);

 

OBS: necessario um console de log no seu Browser (obviamente)=D

se Não sabe oque é um, procure por FIREBUG ^^

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bacana, valeu.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.