<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Renan Ivo &#187; php</title>
	<atom:link href="http://renanivo.com.br/tag/php/feed/" rel="self" type="application/rss+xml" />
	<link>http://renanivo.com.br</link>
	<description>trabalhos, ideias e opiniões</description>
	<lastBuildDate>Sun, 01 Aug 2010 06:06:15 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1-alpha</generator>
		<item>
		<title>Clientes de Debug para PHP [Atualizado]</title>
		<link>http://renanivo.com.br/2009/12/clientes-de-debug-para-php/</link>
		<comments>http://renanivo.com.br/2009/12/clientes-de-debug-para-php/#comments</comments>
		<pubDate>Fri, 11 Dec 2009 12:24:50 +0000</pubDate>
		<dc:creator>Renan Ivo</dc:creator>
				<category><![CDATA[Opiniões]]></category>
		<category><![CDATA[eclipse]]></category>
		<category><![CDATA[kate]]></category>
		<category><![CDATA[netbeans]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[vim]]></category>
		<category><![CDATA[xdebug]]></category>

		<guid isPermaLink="false">http://renanivo.com.br/?p=292</guid>
		<description><![CDATA[Dias atrás, participei da PHP Conference. O evento foi melhor do que as minhas expectativas e voltei cheio de ideias e dicas para por em prática. Uma das dicas foi começar a usar o xDebug pra valer. Chega de fazer debug com var_dump! Quanto à instalação do xDebug, não tive problemas. O complicado mesmo foi escolher [...]]]></description>
			<content:encoded><![CDATA[<p><img class="size-full wp-image-298 alignleft" title="xdebug-logo" src="http://renanivo.com.br/wp-content/uploads/2009/12/xdebug-logo.png" alt="xdebug-logo" width="200" height="116" />Dias atrás, participei da <a href="http://www.phpconf.com.br/">PHP Conference</a>. O evento foi melhor do que as minhas expectativas e voltei cheio de ideias e dicas para por em prática. Uma das dicas foi começar a usar o <a href="http://xdebug.org">xDebug</a> pra valer. Chega de fazer debug com var_dump!</p>
<p>Quanto à instalação do xDebug, <a href="http://devzone.zend.com/article/2803-Introducing-xdebug">não tive problemas</a>. O complicado mesmo foi escolher o cliente do debug. Pelo que tenho visto em posts e eventos, a maioria dos programadores PHP faz debug em uma IDE, na maior parte, o <a href="http://www.eclipse.org/pdt/">Eclipse PDT</a>. Teoricamente (ou seja, <a href="http://xdebug.org/docs/remote">segundo o site do xDebug</a>) existem várias outras opções. Tentei testar todas as opções para linux na prática, algumas não saíram da teoria.</p>
<p>Testei o <a href="http://protoeditor.sourceforge.net/">protoeditor</a> como plugin do Kate (meu editor de código atual) e não consegui compilar por falta de algumas bibliotecas. Dei uma chance para o Eclipse, mas a lentidão e a quantidade de bugs dele me tiraram do sério (por isso o Kate é meu editor atual). Tentei o <a href="http://code.google.com/p/geben-on-emacs/">plugin do Emacs</a>, mas também não consegui fazer funcionar (acredito que seja por falta de conhecimento). Pensei no <a href="http://netbeans.org/features/php/">Netbeans</a>, mas não tive paciência para baixar e instalar. Por último ou não, testei o <a href="http://www.vim.org/scripts/script.php?script_id=1929">plugin do VIM</a>, este sim funcionou perfeitamente!</p>
<p>Eu ainda gostaria que houvesse um programa para linux parecido com o <a href="http://www.bluestatic.org/software/macgdbp/index.php">MacGDBp</a>, mas o VIM está cumprindo o objetivo com louvor, principalmente depois que eu li o <a href="http://aurelio.net/vim/tutor.pt_BR">vimtutor</a>.  Aliás, com o que eu aprendi do VIM, deu até vontade de passar a usá-lo mais regularmente. Talvez em um futuro próximo&#8230;</p>
<h4>Para facilitar a vida</h4>
<p>Criei uns bookmarklets para adicionar as variáveis de ambiente do xDebug na página atual do navegador (o código ficou tão pequeno que coube até em <a href="http://twitter.com/renanivo/status/6431900444">um tweet</a> &#8211; Pena que não dá pra ler direito). Se quiser usar também, arraste o link abaixo para sua barra de favoritos:</p>
<p><a title="Start xDebug Session" href="javascript:var q='XDEBUG_SESSION_START=1';window.location+=window.location.toString().indexOf('?')==-1?'?'+q:'&amp;'+q;">[xDebug] Start Session</a></p>
<p><a title="Stop xDebug Session" href="javascript:var q='XDEBUG_SESSION_STOP';window.location+=window.location.toString().indexOf('?')==-1?'?'+q:'&amp;'+q;">[xDebug] Stop Session</a></p>
<p><a title="xDebug Profile" href="javascript:var q='XDEBUG_PROFILE';window.location+=window.location.toString().indexOf('?')==-1?'?'+q:'&amp;'+q;">[xDebug] Profile</a></p>
<p>Para agilizar o debug de scripts <a href="http://www.php.net/cli">php-cli</a>, também pode adicionar estes dois &#8220;aliases&#8221; em <em>~/.bashrc</em> (para que sejam recriados em novas sessões do terminal):</p>
<pre class="brush:bash">alias xdebug_debugger='export XDEBUG_CONFIG="remote_port=9000 remote_enable=1"'
alias xdebug_profiler='export XDEBUG_CONFIG="profiler_enable=1"'
alias xdebug_clean='export XDEBUG_CONFIG=""'</pre>
<p><strong>Atualização &#8211; 31/12/2009</strong>: Adicionei dois bookmarklets (profile e stop xdebug &#8211; aproveitei para reduzir ainda mais o código <img src='http://renanivo.com.br/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> ) e um alias para iniciar o profile em linha de comando.</p>
<p>Até a próxima!</p>
]]></content:encoded>
			<wfw:commentRss>http://renanivo.com.br/2009/12/clientes-de-debug-para-php/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
