19dez2006

Dica de PHP

(0) comentários

Pessoal,
 
Quantas vezes já se viu quebrando a cabeça por causa de um problema besta de grafia de nomes de variáveis no PHP?
Por exemplo: Num código se declara uma variável $xxy e depois se tenta usá-la novamente, mas acaba escrevendo o nome dela errado, como $xyy, e o PHP nada reporta.
 
Infelizmente a configuração padrão do PHP.INI justamente esconde este tipo de erro (utilização de variáveis não declaradas).
 
Para fazê-lo avisar, basta alterar a configuração do php.ini, mudando a linha:
 
error_reporting = E_ALL & ~E_NOTICE
 
para:
 
error_reporting = E_ALL
 
Desta forma, todos os “erros” são reportados e o processo de depuração fica muito mais ágil. No entanto isso tem um pequeno efeito colateral porque geralmente nos aproveitamos do fato do PHP não acusar tais erros como “recurso de linguagem” (não deixa de ser).
 
Códigos como:
 
if (!$variavel) …    // intenção é testar se a variável existe – não se é verdadeira ou falsa
 
devem ser corrigidos para:
 
if (!isset($variavel)) …     // forma mais clara e objetiva
 
Ou códigos como:
 
$arr = array(‘param’ => 123, ‘param2′ => $variavel_inexistente_ou_nao);
 
devem ser corrigidos para:
 
$arr = array(‘param’ => 123, ‘param2′ => @$variavel_inexistente_ou_nao);    // o arroba faz o PHP não acusar nenhum erro – proposital
 
Quando possível, evitem o uso do ‘@’ para não poluir o código e voltar a esconder possíveis erros chatos de serem depurados.

    Deixar um comentário




    (não será publicado)



    Enviar Cancelar