Seus problemas acabaram!
!=
Por uma vida mais saudável
O Xdebug é uma extensão que te ajuda a depurar seus scripts fornecendo uma
grande quantidade de informações valiosas.
Falaremos sobre:
● Instalação● Variáveis amigáveis● Xdebug na linha de comando● Removendo pogs● Depurando em tempo real● profiling
sudo apt-get install php5 php5-dev gitgit clone git://github.com/derickr/xdebug.gitcd xdebugphpize./configure --enable-xdebugmakesudo make installsudo service apache2 restart
Instalação:
Como configurar:xdebug.default_enable=onxdebug.overload_var_dump = 0
No php.ini:html_errors=On
Variáveis bonitinhas:
Também funciona no CLI:
xdebug.cli_color=1
O PHP oculta erros com o operador @
POG do desespero
OPS DO DESESPERO: USE O MANUAL!!!http://php.net/manual/en/language.operators.errorcontrol.phphttp://xdebug.org/docs/stack_trace
E o Xdebug re-exibe:xdebug.scream=1 # ignora o @
xdebug.file_link_format=gvim://%f@%1
xdebug.file_link_format=txmt://open/?url=file://%f&line=1
xdebug.file_link_format=???://%f?%1
Imprimindo variáveis amigáveis
<?phpini_set( 'xdebug.var_display_max_data', 25 );ini_set( 'xdebug.var_display_max_children', 32 );ini_set( 'xdebug.var_display_max_depth', 4 );
OPS DO DESESPERO:USE O MANUAL!!!http://xdebug.org/docs/display
Exemplo de funções:Gravando headers<?phpsession_start();setcookie( 'key', 'value', time() + 86400 );header( "Status: 403" );var_dump( xdebug_get_headers() );
OPS DO DESESPERO:USE O MANUAL!!!http://xdebug.org/docs/display
Depuração em tempo real: kill bugs
Depuração em tempo real: kill bugs
xdebug.remote_enable=onxdebug.remote_autostart=onxdebug.remote_port=9000
Ou, use TDD – PHP Unit
Clients:
● Eclipse● Netbeans● Vi● Sublime● Notepad++● M$ Visual Studio● ...
DESESPERO - RTFM:http://pt.wikipedia.org/wiki/RTFMhttp://xdebug.org/docs/remote#clients
Profiling
xdebug.profiler_enable=1 ; enable profilerxdebug.profiler_output_name=cachegrind.out.%u.%s.%R
● Analisar quantidade de chamadas● Tempo total por função● Partes do código mais lentas● Descubra onde otimizar
output_name
Profiling
● Webgrind● KcacheGrind● WinCacheGrind● …..?
Profiling
Mão na massa
Contribua com o manual
Como?Procure o Klaus nos corredores!!
● Conhecer o PHP mais a fundo● Documentação em inglês● Tradução da documentação para o português
O culpado:http://derickrethans.nl/
E viveram felizes para sempre
FIM
<?phpfunction romans10_9(){
if($jesus == 'Lord')$you = 'saved';
else$you = 'lost';
return $you;}?>
<?phpfunction romans10_9(){
if($jesus == 'Lord')$you = 'saved';
else$you = 'lost';
return $you;}?>
<?phpfunction romans10_9(){
if($jesus == 'Lord')$you = 'saved';
else$you = 'lost';
return $you;}?>
<?phpfunction romans10_9(){
if($jesus == 'Lord')$you = 'saved';
else$you = 'lost';
return $you;}?>
<?phpfunction romans10_9(){
if($jesus == 'Lord')$you = 'saved';
else$you = 'lost';
return $you;}?>
<?phpfunction romans10_9(){
if($jesus == 'Lord')$you = 'saved';
else$you = 'lost';
return $you;}?>
<?phpecho "Vitor Mattos
http://www.slideshare.net/[email protected]@agregati.com.br";?>
Links - Contato