Depurando Aplicacoes PHP
-
Upload
jefferson-girao -
Category
Technology
-
view
3.627 -
download
0
Transcript of Depurando Aplicacoes PHP
Apresentao do PowerPoint
Depurando Aplicaes PHPJefferson Jean Martins Giro
Depurando Aplicaes PHPO termo bug
Depurando Aplicaes PHPO que entendemos por depurao? Resoluo de problemas (bugs)
Erros Sintticos / de Interpretao
Erros Semnticos
Erros Lgicos
Avisos e Notificaes
Baixo desempenho
Ferramentas
Mensagens de erro do PHP
Recursos do Eclipse PDT
Instrues de impresso
XDebug
Firebug + FirePHP
Depurando Aplicaes PHPExibio de erros do PHP No php.ini
display_errors = On
Exibindo Erros
error_reporting = E_ALL
Que tipos de erros sero reportados
Pegadinha
Utilizao do operador de supresso @
Depurando Aplicaes PHPO que o XDebug? Uma extenso para o PHP
Multiplataforma
Atualmente na verso 2
Criada pelo Derick Rethans (Colaborador chave no desenvolvimento do PHP)
Com o objetivo de prover informaes para depurao e otimizao de aplicaes
http://www.xdebug.org/
Depurando Aplicaes PHPPrincipais recursos do XDebug Melhorias nas mensagens de erro do PHP
Melhorias na sada do var_dump()
Proteo contra recurses infinitas
Depurao remota (Debugging)
Acompanhamento do fluxo da aplicao (Tracing)
Informaes sobre consumo de recursos (Profilling)
Cobertura de cdigo (Code Coverage)
Depurando Aplicaes PHPInstalao Atravs do cdigo fonte
Atravs de binrios
Depurando Aplicaes PHPInstalao Configurao do php.ini
No Windows:
zend_extension_ts="C:\Diretorio\de\extensoes\do\PHP\php_xdebug.dll"
No Linux:
zend_extension="/diretorio/de/extensoes/do/PHP/xdebug.so"
Verificando atravs do phpinfo();
Depurando Aplicaes PHPConfiguraes comuns do XDebug No php.ini
xdebug.var_display_max_data= 512
Tamanho mximo de exibio de uma varivel, alm disso truncada
xdebug.var_display_max_children = 128
Tamanho mximo de elementos de um array ou objeto a ser exibido
xdebug.show_local_vars=On
Exibe variveis locais
xdebug.dump.GET=*
Mostra o contedo da superglobal GET (funciona para GET, POST, SERVER, COOKIE, FILES, REQUEST e SESSION)
xdebug.max_nesting_level=4
Define limite de recurso
Depurando Aplicaes PHPDebugging No php.ini
; debug remoto
xdebug.remote_enable=On
xdebug.remote_host="localhost"
xdebug.remote_port=9000
xdebug.remote_handler="dbgp"
No Eclipse PDT
run->open debug dialog...->PHP Web Page->New
Defina o Server Debugger para Xdebug
Escolha um arquivo por onde iniciar o debug
Verifique se a URL autogerada est correta
Apply->Debug
Depurando Aplicaes PHPTracing No php.ini
xdebug.auto_trace=On
xdebug.trace_output_dir=D:\Temp
Fazendo tracing de uma parte especfica do cdigo
Depurando Aplicaes PHPProfilling No php.ini
xdebug.profiler_output_dir="D:\Temp"
xdebug.profiler_append=On
xdebug.profiler_enable_trigger=On
O KCacheGrind
Depurando Aplicaes PHPO que o FirePHP? um plugin para um plugin (d) do Firefox chamado Firebug
Permite que Scripts PHP conversem com o painel do Firebug
Todos os dados so enviados via response headers sem interferir no contedo da pgina
Ideal para depurao de aplicaes AJAX onde respostas JSON e XML simples so necessrias
Depurando Aplicaes PHPInstalao O FireBug
O FirePHP
As Bibliotecas
API Procedural
API Orientada a Objeto
www.firephp.org
Depurando Aplicaes PHPRelease Varivel global definindo se est em modo de depurao ou no
if(DEBUG)
$firephp->fb("Debugando...");
Tags de debug + PHPReleaser
http://yensdesign.com/tutorials/phpdebug/phpreleaser.rar
Depurando Aplicaes PHPReferncias http://www.xdebug.org/docs/
http://www.firephp.org/HQ/Use.html
http://devzone.zend.com/article/2803-Introducing-xdebug
http://www.onlamp.com/pub/a/php/2004/08/12/DebuggingPHP.html
http://mikebernat.com/blog/My_PHP_Best_Practices
Obrigado!