PHP - depuração de bugs

Os programas raramente funcionam corretamente na primeira vez. Muitas coisas podem dar errado em seu programa, fazendo com que o interpretador PHP gere uma mensagem de erro. Você pode escolher para onde vão essas mensagens de erro. As mensagens podem ser enviadas junto com outra saída do programa para o navegador da web. Eles também podem ser incluídos no log de erros do servidor web.

Para fazer com que mensagens de erro sejam exibidas no navegador, defina o display_errors diretiva de configuração para On. Para enviar erros ao log de erros do servidor web, definalog_errorspara On. Você pode definir ambos como Ativados se quiser mensagens de erro em ambos os lugares.

PHP define algumas constantes que você pode usar para definir o valor de error_reporting de forma que apenas erros de certos tipos sejam relatados: E_ALL (para todos os erros, exceto avisos estritos), E_PARSE (erros de análise), E_ERROR (erros fatais), E_WARNING (avisos), E_NOTICE (avisos) e E_STRICT (avisos estritos).

Ao escrever seu programa PHP, é uma boa idéia usar editores que entendem de PHP, como BBEdit ou Emacs. Um dos recursos especiais especiais desses editores é o realce de sintaxe. Ele muda a cor de diferentes partes do seu programa com base no que essas partes são. Por exemplo, strings são rosa, palavras-chave como if e while são azuis, comentários são cinza e variáveis ​​são pretas.

Outro recurso é a correspondência de aspas e colchetes, que ajuda a garantir que suas aspas e colchetes estejam equilibradas. Quando você digita um delimitador de fechamento como}, o editor destaca a abertura {que corresponde.

Existem os seguintes pontos que precisam ser verificados durante a depuração de seu programa.

  • Missing Semicolons- Cada instrução PHP termina com um ponto e vírgula (;). O PHP não para de ler uma instrução até atingir um ponto e vírgula. Se você omitir o ponto-e-vírgula no final de uma linha, o PHP continua lendo a instrução na linha seguinte.

  • Not Enough Equal Signs- Quando você pergunta se dois valores são iguais em uma declaração de comparação, você precisa de dois sinais de igual (==). Usar um sinal de igual é um erro comum.

  • Misspelled Variable Names- Se você digitou incorretamente uma variável, o PHP a entende como uma nova variável. Lembre-se: para PHP, $ test não é a mesma variável que $ Test.

  • Missing Dollar Signs - A falta de um cifrão em um nome de variável é realmente difícil de ver, mas pelo menos geralmente resulta em uma mensagem de erro para que você saiba onde procurar o problema.

  • Troubling Quotes- Você pode ter muitas, poucas ou o tipo errado de citações. Portanto, verifique se há um número equilibrado de citações.

  • Missing Parentheses and curly brackets - Devem estar sempre aos pares.

  • Array Index - Todas as matrizes devem começar do zero em vez de 1.

Além disso, trate todos os erros de forma adequada e direcione todas as mensagens de rastreamento para o arquivo de log do sistema, de modo que, se algum problema acontecer, ele será registrado no arquivo de log do sistema e você poderá depurar esse problema.