Como depurar PHP usando Firefox com FirePHP

Search, find and SEO internet concepts. Businessman hold futuristic tablet with head-up display and symbol of loupe.

Compartilhe esta postagem

Índice do Conteúdo

Receba nosso boletim

Novos contatos

nossa newsletter

Normalmente, existem duas maneiras principais de depurar código do lado do servidor: você pode utilizar um ambiente de desenvolvimento integrado (IDE) com um depurador ou log integrado e executar seus processos de depuração em um navegador da web. Como depurar PHP usando Firefox com FirePHP Este artigo compartilha uma maneira elegante, simples e mais sustentável de depurar aplicativos Ajax através do navegador da web (mais especificamente para o Mozilla Firefox navegador). Você aprenderá o básico sobre como aproveitar o Firefox em conjunto com o Firebug e o FirePHP para implementar bibliotecas FirePHP em aplicativos da web e registrar mensagens no console do Firebug.

Uma breve introdução

Quando as técnicas Ajax se tornaram populares, os desenvolvedores enfrentaram um novo problema: como podemos depurar solicitações e respostas Ajax de forma eficiente para aplicações web complexas? Se usar um depurador já era difícil o suficiente com o modelo RESTful, acionar uma solicitação específica do Ajax é trabalhoso e um pouco mais difícil; o despejo de logs e informações referentes a essas operações do Ajax teve que ser feito usando JSON ou XML. Uma breve introdução É aqui que FirePHP ajudapermitindo que você registre suas mensagens de depuração no console do Firebug.

FirePHP não mexe com seu código (e não exige que você modifique nada para capturar erros): as mensagens que você imprime são enviadas para o navegador nos cabeçalhos de resposta HTTP, o que é ótimo quando você está usando JSON ou XML já que não quebrará sua codificação. Isso torna o FirePHP ideal não apenas para depurar suas solicitações Ajax, mas também para toda a sua base de código PHP.

Então, o que é FirePHP?

FirePHP é um complemento para um complemento: ele estende a popular ferramenta de desenvolvimento web no navegador chamada Bug de fogo com uma API para desenvolvedores de aplicativos web PHP.

FirePHP é livre e facilmente acessível através da seção Mozilla Add-Ons no site oficial da Mozilla. O site oficial do FirePHP pode ser encontrado neste endereço: www.firephp.org. Christoph Dorn é o responsável pela criação do FirePHP.

O que eu preciso para começar?

Como você deve ter adivinhado, você precisa de três coisas para começar a usar o FirePHP:

  1. Raposa de fogo
  2. Bug de fogo
  3. FirePHP

Se você não tiver todos os aplicativos acima instalados em sua máquina, clique no link para saber como baixá-los para seu sistema específico. A instalação das três coisas acima é um processo simples. FirePHP pode ser um pouco complicado de instalar se você começou recentemente a aprender sobre desenvolvimento web, mas há uma boa documentação sobre isso.

Este artigo é sobre como usar o FirePHP, então deixarei você cuidar da parte de instalação (mas fique à vontade para perguntar nos comentários – ficaremos felizes em ajudar se você encontrar problemas).

Algumas dicas

Depois de instalar o FirePHP e incluí-lo em sua aplicação web, você estará pronto para depurar e registrar dados. Mas primeiro, gostaria de compartilhar duas dicas úteis que aprendi:

Dica nº 1: chame ob_start()

Como as informações são enviadas ao Firebug nos cabeçalhos HTTP, você deve ativar o buffer de saída ou poderá obter o “erro de cabeçalhos já enviados”. Pode parecer complicado, mas tudo que você precisa fazer é escrever ob_start() na primeira linha do script PHP que você está depurando.

Dica nº 2: não se esqueça de desativar o FirePHP Logging quando estiver ao vivo

Você deve desabilitar o FirePHP quando o site entrar no ar ou correrá o risco de expor informações confidenciais a qualquer pessoa que tenha o Firebug/FirePHP instalado (falaremos sobre como fazer isso mais adiante no artigo). E então apenas uma dica geral para usuários do Firebug/FirePHP: também é uma boa ideia desabilitar ou suspender o Firebug e o FirePHP quando você estiver apenas navegando na web porque eles podem realmente tornar alguns sites e aplicativos da web lentos (como o Gmail, por exemplo ).

Introdução ao registro FirePHP

Esta é a parte divertida onde começamos a registrar mensagens e revisar as funções básicas de registro. Uma coisa a notar é que, assim como o PHP, que (pelo menos para PHP4 e PHP5) é um “pseudo orientada a objetos”, você pode usar FirePHP em uma linguagem processual ou orientada a objetos (abreviada OO de agora em diante) maneira. Prefiro as técnicas orientadas a objetos e encorajo você a usar o mesmo padrão, pois é considerada a abordagem mais popular e moderna para a construção de aplicativos.

O API OO permite instanciar um objeto Firebug para usá-lo ou chamar seus métodos estáticos diretamente. Sou um cara preguiçoso e como os métodos estáticos são mais concisos e exigem menos digitação, é isso que eu uso.

Instanciando o objeto API OO

No seu script, você pode usar o seguinte bloco de código para criar o objeto FirePHP ($firephp).

require_once('FirePHPCore/FirePHP.class.PHP'); $firephp = FirePHP::getInstance(true); $firephp -> [classmethod]

API OO com métodos estáticos

Este é o formato para chamar métodos estáticos em seus scripts.

require_once('FirePHPCore/fb.PHP'); FB::[nameofmethod]

A API processual

Veja como usar a API Procedural do FirePHP:

require_once('FirePHPCore/fb.PHP'); fb($var) fb($var, 'Label') fb($var, FirePHP::[nameofmethod])

Não entraremos em detalhes sobre os benefícios e o estilo de codificação de cada API. Incluí-os aqui apenas para que você veja quais opções estão disponíveis para você. Em outras palavras, não quero iniciar uma guerra inflamada sobre qual procedimento é melhor – cabe a você decidir e já anotei minha preferência.

Registrando mensagens e informações no console do Firebug

Vamos falar sobre o registro de mensagens no console do Firebug (lembre-se, isso só funcionará se você tiver configurado seu aplicativo para FirePHP).

Exemplos de chamadas básicas de registro

Se você estiver depurando um bug ad-hoc, os exemplos a seguir são o que você terá interesse em utilizar.

Fb::log("log message")

Isso imprimirá uma string que você passa para o console do Firebug.

Usar o exemplo acima resulta na seguinte mensagem: Mensagem de registro.

Fb::log($array, "dumping an array")

Passar um array (não mais loops for ou print_r() em seus scripts) gera o conteúdo do seu array. O exemplo acima resultará na seguinte mensagem no console do Firebug: Matriz de mensagens de despejo Dica: quando você passa o mouse sobre as variáveis ​​​​registradas no console do Firebug, uma janela de informações aparecerá na página da web contendo todos os seus elementos. É um recurso bacana, você não concorda?

Visualizador de variáveis

Registrando uma mensagem informativa

Aqui está um exemplo de registro de mensagens informativas usando o método info.

Fb::info("information")

Esta é a mensagem registrada no console do Firebug: mensagem informativa.

Registrando uma mensagem de aviso

Aqui está um exemplo de registro de uma mensagem de aviso.

Fb::warn("this is a warning")

Esta é a mensagem registrada no console do Firebug: Mensagem de aviso

Registrando uma mensagem de erro

Aqui está um exemplo de registro de uma mensagem de aviso usando o método info.

Fb::error("error message") 

Esta é a aparência de uma mensagem de erro no console do Firebug: Mensagem de erro.

Habilitando ou desabilitando o log do FirePHP

Quando seu site entrar no ar, você pode (e deve) desabilitar o registro do FirePHP. Chame a seguinte linha de código nas primeiras linhas do seu script.

FB::setEnabled(false);

O que é ótimo nisso é que você pode deixar todo o seu código FirePHP em seus scripts para uso posterior – basta passar true ou false quando você deseja ativar ou desativar o registro.

Se o seu aplicativo usa um “arquivo de configuração”Para acompanhar as configurações globais, é aconselhável definir uma opção de configuração para habilitá-la ou desabilitá-la.

Conclusão

Primeiro, aqui está uma captura de tela mostrando todas as nossas mensagens no Firebug de uma só vez (eu executei sequencialmente). Conclusão: todos juntos agora Neste artigo, cobrimos os fundamentos do uso do FirePHP para ajudá-lo a depurar e obter informações sobre seus aplicativos PHP/Ajax de maneira mais fácil e por meio do navegador da web.

Espero que isso faça com que você se convença de que deve explorar suas opções de depuração fora das técnicas “antigas”, como usar echo ou print na parte superior do layout de sua página da web para ver o que uma variável ou array contém. Usar FirePHP é muito fácil e conveniente e oferece muito mais opções e dados para fins de depuração. Em um artigo futuroestarei cobrindo recursos mais complexos do FirePHP e usando Firebug para tornar esta ferramenta de depuração simples mais estrutura de registro robusta e completa.

Então fique por aqui, não se esqueça de se inscrever no Feed RSS de seis revisões então você receberá uma nota quando o artigo for publicado. * Edições de artigos por Jacob Gube

Conteúdo relacionado

O que é FirePHP e como ele pode me ajudar a depurar aplicações web?

FirePHP é uma extensão para o Firebug que permite que você registre mensagens de depuração no console do navegador. Isso é útil para depurar solicitações e respostas Ajax, bem como para todo o seu código PHP.

O que eu preciso para começar a usar o FirePHP?

Para começar a usar o FirePHP, você precisa ter o Mozilla Firefox, o Firebug e o FirePHP instalados em sua máquina. Você pode encontrar esses aplicativos na seção Mozilla Add-Ons no site oficial da Mozilla.

Como posso habilitar o buffer de saída ao usar o FirePHP?

Para evitar erros de cabeçalhos já enviados, é recomendável chamar a função ob_start() na primeira linha do seu script PHP. Isso ativará o buffer de saída e garantirá que suas mensagens sejam enviadas corretamente para o console do Firebug.

Quais são os métodos disponíveis para registrar mensagens no console do Firebug usando o FirePHP?

Você pode usar métodos como log(), info(), warn() e error() para registrar mensagens de depuração no console do Firebug. Também é possível registrar arrays e outras variáveis para inspecionar seu conteúdo de maneira mais detalhada.

Como posso desabilitar o log do FirePHP quando meu site estiver ao vivo?

Para desativar o registro do FirePHP quando seu site estiver ao vivo, você pode chamar a função FB::setEnabled(false) nas primeiras linhas do seu script. Isso garantirá que suas mensagens de depuração não sejam exibidas para os usuários finais.

Assine a nossa newsletter

Receba atualizações e aprenda com os melhores

explore mais conteúdo

aprenda mais com vídeos

você que impulsionar seu negócio?

entre em contato conosco e saiba como

contatos midiapro
small_c_popup.png

Saiba como ajudamos mais de 100 das principais marcas a obter sucesso

Vamos bater um papo sem compromisso!