<?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"
	>

<channel>
	<title>Lucas Stephanou Blog</title>
	<atom:link href="http://blog.lucas-ts.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.lucas-ts.com</link>
	<description>Desenvolvimento Simples</description>
	<pubDate>Fri, 10 Oct 2008 17:20:34 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.5.1</generator>
	<language>en</language>
			<item>
		<title>symfony cookbook - tradução de duas novas receitas</title>
		<link>http://blog.lucas-ts.com/php/symfony-cookbook-traducao-de-duas-novas-receitas/</link>
		<comments>http://blog.lucas-ts.com/php/symfony-cookbook-traducao-de-duas-novas-receitas/#comments</comments>
		<pubDate>Fri, 10 Oct 2008 17:20:34 +0000</pubDate>
		<dc:creator>lucas</dc:creator>
		
		<category><![CDATA[php]]></category>

		<category><![CDATA[symfony]]></category>

		<category><![CDATA[tradução]]></category>

		<guid isPermaLink="false">http://blog.lucas-ts.com/?p=17</guid>
		<description><![CDATA[&#160;
Pessoal, 
&#160;
O Fabien acaba de publicar dois novos tutoriais sobre personaliza&#231;&#227;o de mensagens de erro no symfony 1.2 e um outro sobre teste unitario de modelos ( doctrine e propel models)
E em tempo recorde, fiz a tradu&#231;&#227;o desses dois novos tutoriais, que ir&#227;o aparecer&#160; online aqui:
http://www.symfony-project.org/cookbook/1_2/pt_BR/
Pe&#231;o que aguardem algumas horas, pois o site faz 3 [...]]]></description>
			<content:encoded><![CDATA[<p>&nbsp;</p>
<p>Pessoal, </p>
<p>&nbsp;</p>
<p>O Fabien acaba de <a href="http://www.symfony-project.org/blog/2008/10/08/unit-testing-your-models">publicar</a> dois novos tutoriais sobre personaliza&ccedil;&atilde;o de mensagens de erro no <a href="http://www.symfony-project.org">symfony</a> 1.2 e um outro sobre teste unitario de modelos ( doctrine e propel models)</p>
<p>E em tempo recorde, fiz a tradu&ccedil;&atilde;o desses dois novos tutoriais, que ir&atilde;o aparecer&nbsp; online aqui:</p>
<p><a href="http://www.symfony-project.org/cookbook/1_2/pt_BR/">http://www.symfony-project.org/cookbook/1_2/pt_BR/</a></p>
<p>Pe&ccedil;o que aguardem algumas horas, pois o site faz 3 atualiza&ccedil;&otilde;es por dia para carregar esse tutoriais comitados, a pr&oacute;xima atualiza&ccedil;&atilde;o &eacute; as 21h.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.lucas-ts.com/php/symfony-cookbook-traducao-de-duas-novas-receitas/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Lucas Lima e Sandy - O google nem sempre esta certo</title>
		<link>http://blog.lucas-ts.com/diversos/lucas-lima-e-sandy-o-google-nem-sempre-esta-certo/</link>
		<comments>http://blog.lucas-ts.com/diversos/lucas-lima-e-sandy-o-google-nem-sempre-esta-certo/#comments</comments>
		<pubDate>Thu, 25 Sep 2008 19:19:17 +0000</pubDate>
		<dc:creator>lucas</dc:creator>
		
		<category><![CDATA[diversos]]></category>

		<category><![CDATA[lucas lima sandy google confusao]]></category>

		<guid isPermaLink="false">http://blog.lucas-ts.com/?p=16</guid>
		<description><![CDATA[&#160;
Apesar ainda esta no inicio neste blog, devido ao nome tenho recebido inumeros paraquedistas&#160; procurando pelo blog do Lucas Lima, namorado da Sandy.
&#201; incrivel como apesar de termos o nome igual, os assuntos e tipos de publico n&#227;o batem.
Fazendo uma busca, n&#227;o encontrei o blog dele em nenhuma ferramenta de busca, seja o google, ou [...]]]></description>
			<content:encoded><![CDATA[<p>&nbsp;</p>
<p>Apesar ainda esta no inicio neste blog, devido ao nome tenho recebido inumeros paraquedistas&nbsp; procurando pelo blog do Lucas Lima, namorado da Sandy.</p>
<p>&Eacute; incrivel como apesar de termos o nome igual, os assuntos e tipos de publico n&atilde;o batem.</p>
<p>Fazendo uma busca, n&atilde;o encontrei o blog dele em nenhuma ferramenta de busca, seja o <a href="http://google.com">google</a>, ou os modernosos como o <a href="http://www.cuil.com/" name="cuil" type="cuil">www.cuil.com/</a></p>
<p>Logo, se vo&ccedil;e procura por noticias ou sei la o que sobre o casal Lucas Lima e Sandy, este n&atilde;o &eacute; o lugar, aqui costumo falar de desenvolvimento web, principalemente <strong>PHP</strong> e <a href="http://symfony-project.com"><strong>symfony</strong></a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.lucas-ts.com/diversos/lucas-lima-e-sandy-o-google-nem-sempre-esta-certo/feed/</wfw:commentRss>
		</item>
		<item>
		<title>symfony forms - tradução do livro sfForms Book</title>
		<link>http://blog.lucas-ts.com/programacao/symfony-forms-traducao-do-livro-sfforms-book/</link>
		<comments>http://blog.lucas-ts.com/programacao/symfony-forms-traducao-do-livro-sfforms-book/#comments</comments>
		<pubDate>Thu, 25 Sep 2008 17:40:34 +0000</pubDate>
		<dc:creator>lucas</dc:creator>
		
		<category><![CDATA[programação]]></category>

		<category><![CDATA[symfony php tradução]]></category>

		<guid isPermaLink="false">http://blog.lucas-ts.com/?p=15</guid>
		<description><![CDATA[Caros,
Ap&#243;s algum tempo parado nas tradu&#231;&#245;es, arrumei um tempinho e fiz a tradu&#231;&#227;o do primeiro cap&#237;tulo do livro do subframework de forms do symfony.
D&#234;em uma olhada:
http://www.symfony-project.org/book/forms/1_1/pt_BR/
At&#233; o fim da semana pretendo traduzir os restantes, se algu&#233;m ajudar, sera bem vindo ou mesmo sugerir corre&#231;&#245;es na tradu&#231;&#227;o.
]]></description>
			<content:encoded><![CDATA[<p>Caros,</p>
<p>Ap&oacute;s algum tempo parado nas tradu&ccedil;&otilde;es, arrumei um tempinho e fiz a tradu&ccedil;&atilde;o do primeiro cap&iacute;tulo do livro do subframework de forms do symfony.</p>
<p>D&ecirc;em uma olhada:</p>
<p><a target="_blank" href="http://www.symfony-project.org/book/forms/1_1/pt_BR/">http://www.symfony-project.org/book/forms/1_1/pt_BR/</a></p>
<p>At&eacute; o fim da semana pretendo traduzir os restantes, se algu&eacute;m ajudar, sera bem vindo ou mesmo sugerir corre&ccedil;&otilde;es na tradu&ccedil;&atilde;o.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.lucas-ts.com/programacao/symfony-forms-traducao-do-livro-sfforms-book/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Novidades do PHP 5.3</title>
		<link>http://blog.lucas-ts.com/php/novidades-do-php-53/</link>
		<comments>http://blog.lucas-ts.com/php/novidades-do-php-53/#comments</comments>
		<pubDate>Fri, 25 Jul 2008 18:33:06 +0000</pubDate>
		<dc:creator>lucas</dc:creator>
		
		<category><![CDATA[php]]></category>

		<category><![CDATA[programação]]></category>

		<category><![CDATA[php5 php5.3]]></category>

		<guid isPermaLink="false">http://blog.lucas-ts.com/?p=13</guid>
		<description><![CDATA[&#160;
Ontem ( dia 24 de Julho de 2008) &#233; feature freeze para o PHP 5.3,&#160; o numero de commits foi alto devido a esse freeze.
Essa vers&#227;o, mais at&#233; mesmo que a 5.2, vai incluir diversas funcionalidades interessantes e a muito 
solicitadas, como namespaces e fun&#231;&#245;es lambda.&#160; Confira:

&#160;Clousures e lambda functions
    Agora podemos [...]]]></description>
			<content:encoded><![CDATA[<p>&nbsp;</p>
<p>Ontem ( dia 24 de Julho de 2008) &eacute; feature freeze para o <strong><span style="color: rgb(128, 0, 0);">PHP 5.3</span>,</strong>&nbsp; o numero de commits foi alto devido a esse freeze.</p>
<p>Essa vers&atilde;o, mais at&eacute; mesmo que a 5.2, vai incluir diversas funcionalidades interessantes e a muito <br />
solicitadas, como namespaces e fun&ccedil;&otilde;es lambda.&nbsp; Confira:</p>
<ul>
<li>&nbsp;Clousures e lambda functions<br />
    Agora podemos fazer algo assim:<br />
    <code>&lt;?php<br />
    $lambdaFunc = function($name){ echo &quot;Hello &quot; . $name;&nbsp; }<br />
    $lambdaFunc(&#8217;Lucas&#8217;)</code></li>
<li>Suporte a Namespaces</li>
<li>Late Static Binding</li>
<li>Adicionado suporte ao Error Mode Deprecated para Usuarios.</li>
<li>Possibilidade para tratar Exce&ccedil;oes em m&eacute;todos destrutores</li>
<li>Adicionada constante __DIR__ (diretorio do arquivo)</li>
<li>Spl agora &eacute; extens&atilde;o oficial e n&atilde;o pode ser desabilitada</li>
<li>Inumeras novas interfaces e Iteradores de Array na Spl</li>
<li>E um sem numero de bugs corrigidos</li>
</ul>
<p>&nbsp;Esta &eacute; sem duvida uma das maiores mudan&ccedil;as no ramo 5.3, somente a adi&ccedil;ao do suporte a namespaces, que estava agendado para o PHP 6, demonstra o impacto que esta vers&atilde;o ira trazer aos desenvolvedores.</p>
<p>Dia 31 de Julho esta planejado lan&ccedil;amento do primeiro alpha, e ent&atilde;o lan&ccedil;amento em Setembro/Outubro</p>
<p>Antes de PHP 6, planejado para o primeiro trimestre de 2009, podemos ter uma vers&atilde;o intermediaria, o PHP 5.4, mas isso dependera muito se funcionalidades ou parte delas da 5.3 n&atilde;o forem concluidas em tempo.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.lucas-ts.com/php/novidades-do-php-53/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Ajude a Wikipedia</title>
		<link>http://blog.lucas-ts.com/diversos/ajude-a-wikipedia/</link>
		<comments>http://blog.lucas-ts.com/diversos/ajude-a-wikipedia/#comments</comments>
		<pubDate>Fri, 25 Jul 2008 13:32:34 +0000</pubDate>
		<dc:creator>lucas</dc:creator>
		
		<category><![CDATA[diversos]]></category>

		<category><![CDATA[wikipedia]]></category>

		<guid isPermaLink="false">http://blog.lucas-ts.com/?p=12</guid>
		<description><![CDATA[N&#227;o custa nada ajudar um grande projeto que usamos todos os dias(eu pelo menos)
Abaixo o texto oficial
Ajude a sustentar a Wikip&#233;dia e outros projetos, sem colocar a m&#227;o no bolso, e concorra a um Eee PC!
&#8230;e tamb&#233;m a pen drives, card drives, camisetas geeks, livros e mais! 
O BR-Linux e o Efetividade lan&#231;aram uma campanha [...]]]></description>
			<content:encoded><![CDATA[<p>N&atilde;o custa nada ajudar um grande projeto que usamos todos os dias(eu pelo menos)</p>
<p>Abaixo o texto oficial</p>
<p><b>Ajude a sustentar a Wikip&eacute;dia e outros projetos, sem colocar a m&atilde;o no bolso, e concorra a um Eee PC!</b><br />
&hellip;e tamb&eacute;m a pen drives, card drives, camisetas geeks, livros e mais! </p>
<p>O <a href="http://br-linux.org">BR-Linux</a> e o <a href="http://efetividade.net">Efetividade</a> lan&ccedil;aram uma <a href="http://br-linux.org/2008/campanha-wikipedia/">campanha</a> para ajudar a Wikimedia Foundation e outros mantenedores de projetos que usamos no dia-a-dia on-line.</p>
<p>Se voc&ecirc; puder doar diretamente, ou contribuir de outra forma, s&atilde;o sempre melhores op&ccedil;&otilde;es. Mas se n&atilde;o puder, veja as regras da promo&ccedil;&atilde;o e <a href="http://br-linux.org/2008/campanha-wikipedia/">participe</a> - quanto mais divulga&ccedil;&atilde;o, maior ser&aacute; a doa&ccedil;&atilde;o do BR-Linux e do Efetividade, e voc&ecirc; ainda concorre a diversos brindes!</p>
<p>&nbsp;</p>
<p>PS: Estou preparando dois artigos bem legais, um sobre symfony em grandes projetos e um sobre PhpUnit. Em breve</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.lucas-ts.com/diversos/ajude-a-wikipedia/feed/</wfw:commentRss>
		</item>
		<item>
		<title>symfony 1.1 cookbook em português</title>
		<link>http://blog.lucas-ts.com/programacao/symfony-11-cookbook-em-portugues/</link>
		<comments>http://blog.lucas-ts.com/programacao/symfony-11-cookbook-em-portugues/#comments</comments>
		<pubDate>Mon, 16 Jun 2008 13:48:03 +0000</pubDate>
		<dc:creator>lucas</dc:creator>
		
		<category><![CDATA[programação]]></category>

		<guid isPermaLink="false">http://blog.lucas-ts.com/?p=10</guid>
		<description><![CDATA[&#160;
A comunidade symfony brasil esta fazendo um grande esfor&#231;o de tradu&#231;&#227;o do cookbook da vers&#227;o 1.1&#160; do symfony.
Os recipes ( receitas ) do cookbook ( livro de receitas) do symfony mostram como fazer tarefas espec&#237;ficas com o framework em tutoriais r&#225;pidos.
Voc&#234; pode olhar os artigos traduzidos aqui
]]></description>
			<content:encoded><![CDATA[<p>&nbsp;</p>
<p>A comunidade <a href="http://www.symfony-brasil.com" target="_blank">symfony brasil</a> esta fazendo um grande esfor&ccedil;o de tradu&ccedil;&atilde;o do <a href="http://www.symfony-project.org/doc/1_1/" target="_blank">cookbook</a> da vers&atilde;o 1.1&nbsp; do symfony.</p>
<p>Os recipes ( receitas ) do cookbook ( livro de receitas) do symfony mostram como fazer tarefas espec&iacute;ficas com o framework em tutoriais r&aacute;pidos.</p>
<p>Voc&ecirc; pode olhar os artigos traduzidos <a href="http://www.symfony-project.org/cookbook/1_1/pt/" target="_blank">aqui</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.lucas-ts.com/programacao/symfony-11-cookbook-em-portugues/feed/</wfw:commentRss>
		</item>
		<item>
		<title>symfony  1.1 - saindo do forno</title>
		<link>http://blog.lucas-ts.com/php/symfony-11-saindo-do-forno/</link>
		<comments>http://blog.lucas-ts.com/php/symfony-11-saindo-do-forno/#comments</comments>
		<pubDate>Thu, 12 Jun 2008 15:06:33 +0000</pubDate>
		<dc:creator>lucas</dc:creator>
		
		<category><![CDATA[php]]></category>

		<category><![CDATA[programação]]></category>

		<category><![CDATA[symfony]]></category>

		<guid isPermaLink="false">http://blog.lucas-ts.com/?p=9</guid>
		<description><![CDATA[O desenvolvimento do framework php symfony esta chegando perto do release final.
Atualmente o segundo release candidate esta bastante estável e deve ser também o ultimo antes do release final.
Algumas novidades:

Independência de Camada de Mapeamento O/.
Um novo e completo framework de Forms.
Novas classes de configuração POR projeto que permitem inumeras personalizações.
Suporte a diferentes formatos de saída [...]]]></description>
			<content:encoded><![CDATA[<p>O desenvolvimento do framework php <a title="symfony PHP 5 Framework" href="http://www.symfony-project.org" target="_blank">symfony</a> esta chegando perto do release final.</p>
<p>Atualmente o segundo release candidate esta bastante estável e deve ser também o ultimo antes do release final.</p>
<p>Algumas novidades:</p>
<ol>
<li>Independência de Camada de Mapeamento O/.</li>
<li>Um novo e completo framework de Forms.</li>
<li>Novas classes de configuração POR projeto que permitem inumeras personalizações.</li>
<li>Suporte a diferentes formatos de saída ( Json, Html, Iphone, e qualquer outro que você desejar)</li>
<li>Sistemas de Task totalmente refeito ( retirado pake)</li>
<li>Subframeworks desacoplados:<br />
Agora todas as classes refereciam a EventDispatcher, removendo depêndencias e flexibilizando o uso.</li>
</ol>
<p>Nas próximas semanas vou tentar abordar alguns desses itens em artigos completos, se alguém tiver sugestões de qual parte iniciar, deixe nos comentarios.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.lucas-ts.com/php/symfony-11-saindo-do-forno/feed/</wfw:commentRss>
		</item>
		<item>
		<title>[TRADUÇÃO] - 39 dicas de performance PHP</title>
		<link>http://blog.lucas-ts.com/programacao/traducao-39-dicas-de-perfomance-php/</link>
		<comments>http://blog.lucas-ts.com/programacao/traducao-39-dicas-de-perfomance-php/#comments</comments>
		<pubDate>Fri, 23 May 2008 23:13:13 +0000</pubDate>
		<dc:creator>lucas</dc:creator>
		
		<category><![CDATA[programação]]></category>

		<category><![CDATA[dicas]]></category>

		<category><![CDATA[otimização]]></category>

		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://blog.lucas-ts.com/?p=5</guid>
		<description><![CDATA[Meu primeiro artigo no blog, uma tradução do otimo post de Reinhold, depois desse espero ter sempre artigos e traduções de qualidade sobre PHP. ( fiz algumas alterações e coloquei links para alguns artigos relacionados)
[UPDATE]
Algumas correções de português, adicionados exemplos.
Obrigado Pablo.
[/UPDATE]
Ai esta: (Thank you Reinhold)

Se um método pode ser estatico, declare ele estatico. O fator [...]]]></description>
			<content:encoded><![CDATA[<p>Meu primeiro artigo no blog, uma tradução do <a title="40 Tips for optimizing your php code " href="http://reinholdweber.com/?p=3">otimo post de Reinhold</a>, depois desse espero ter sempre artigos e traduções de qualidade sobre PHP. ( fiz algumas alterações e coloquei links para alguns artigos relacionados)</p>
<p>[UPDATE]<br />
Algumas correções de português, adicionados exemplos.<br />
Obrigado Pablo.<br />
[/UPDATE]</p>
<p>Ai esta: (Thank you Reinhold)</p>
<ol>
<li>Se um método pode ser estatico, declare ele estatico. O fator de otimização é 4x+</li>
<li><em>echo</em> é mais rapido que <em>print</em>. <a title="Veja aqui" href="http://www.faqts.com/knowledge_base/view.phtml/aid/1/fid/40" target="_blank">Veja</a></li>
<li>Prefira usar echo com multiplo parametros ao invés de concatenar string
<div class="geshi no php">
<ol>
<li class="li1">
<div class="de1"><span class="kw3">echo</span> <span class="st0">&quot;parametro um&quot;</span><span class="sy0">,</span> <span class="re1">$var</span> <span class="sy0">,</span> <span class="st0">&quot;outro parametro&quot;</span></div>
</li>
</ol>
</div>
</li>
<li>Set o valor maximo  do seus loops FOR antes e não no for
<div class="geshi no php">
<div class="head">#onde:</div>
<ol>
<li class="li1">
<div class="de1"><span class="kw1">for</span><span class="br0">&#40;</span><span class="re1">$i</span><span class="sy0">=</span><span class="nu0">0</span><span class="sy0">;</span><span class="re1">$i</span><span class="sy0">&amp;</span>lt<span class="sy0">;</span>count<span class="br0">&#40;</span><span class="re1">$array</span><span class="br0">&#41;</span><span class="sy0">;</span><span class="re1">$i</span><span class="sy0">++</span><span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="co2">#use:</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re1">$max_for</span> <span class="sy0">=</span> <span class="kw3">count</span><span class="br0">&#40;</span><span class="re1">$array</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">for</span><span class="br0">&#40;</span><span class="re1">$i</span><span class="sy0">=</span><span class="nu0">0</span><span class="sy0">;</span><span class="re1">$i</span><span class="sy0">&amp;</span>lt<span class="sy0">;</span><span class="re1">$max_for</span><span class="sy0">;</span><span class="re1">$i</span><span class="sy0">++</span><span class="br0">&#41;</span></div>
</li>
</ol>
</div>
</li>
<li>Sempre de <span style="font-style: italic">unset </span>em variaveis que nao serão mais usadas, principalemente grandes arrays.</li>
<li>Tente não usar métodos magicos, como:  __get, __set, __autoload</li>
<li>require_once() tem custo elevado, prefira include[_once], como alertado pelo Pablo, o include_once é mais custoso que o include.</li>
<li>Use caminhos completos em includes e requires, o PHP gastara menos tempo resolvendo os caminhos.</li>
<li>Se você deseja descobrir quando o script começou a ser executado, $_SERVER[’REQUEST_TIME’]  é melhor que time()</li>
<li>Se você puder, use strncasecmp, strpbrk e stripos no lugar de funcões regex</li>
<li>str_replace é mais rápida que preg_replace, mas strtr é ainda 4x mais rapida que str_replace.</li>
<li>Se uma função, como troca de string , aceitar tanto arrays quanto caracteres unicos e a sua lista de argumentos não for muito longa, considere escrever algumas vezes o mesmo codigo passando um caracter por vez ao invés de uma linha passando arrays nos argumentos de pesquisa e troca.</li>
<li>É melhor usar switch/case do que multiplos if&#8217;s e else.</li>
<li>Usar supressão de erros com @ na frente da função é muito lento.</li>
<li>Ative o mod_deflate do apache( modulo de compressão de resposta).</li>
<li>Feche as conexões ao banco de dados quando você não for mais usa-lo.</li>
<li>$row[’id’] é 7x mais rapido que  $row[id]</li>
<li>Mensagens de erros tem custo elevado, desligue-as em produção.</li>
<li>Não use funcões dentro de loops, como:
<div class="geshi no php">
<ol>
<li class="li1">
<div class="de1"><span class="kw1">for</span> <span class="br0">&#40;</span><span class="re1">$x</span><span class="sy0">=</span><span class="nu0">0</span><span class="sy0">;</span> <span class="re1">$x</span> <span class="sy0">&amp;</span>lt<span class="sy0">;</span> <span class="kw3">count</span><span class="br0">&#40;</span><span class="re1">$array</span><span class="br0">&#41;</span><span class="sy0">;</span> <span class="re1">$x</span><span class="br0">&#41;</span></div>
</li>
</ol>
</div>
<p>A função count() é chamada em cada iteração.</li>
<li>Incrementando uma variavel local é mais rapido.</li>
<li>Incrementando uma variavel global é 2x mais lento que em uma variavel local.</li>
<li>Incrementando uma propriedade ( $this-&gt;prop++) é 3x mais lento que em uma variavel local.</li>
<li>Incrementando uma variavel local não definida é de 9x a 10x mais lento do que uma variavel local pré-inicializada.</li>
<li>Declarando uma variável global sem usá-lo em uma função também atrasa as coisas (com aproximadamente a mesma quantidade incrementando como uma variavel local).O PHP provavelmente faz um checagem para ver se existe a nível global</li>
<li>A invocação de métodos parece ser independente do número de métodos definidos em uma classe, em uma classe de teste onde se adicionou 10 metódos não teve mudança de performance.</li>
<li>Métodos em classes derivadas rodam mais rápido do que aqueles definidos na classe base.</li>
<li>Use &#8216; ao invés de &#8221; em strings quando não for preciso usar variaveis ou escapes, assim o PHP não necessita procurar e interpretar esses caracteres especiais.</li>
<li>Prefira usar HTML puro se for possivel, scripts PHP são servidos de 2x a 10x mais lentos que equivalentes.</li>
<li>Em cada requisição seus scripts PHP são recompilados, use uma solução de cache, isso pode te dar um ganho de 25 a 100% . <a title="Artigos sobre PHP  e Cache no delicious." href="http://del.icio.us/search/?fr=del_icio_us&amp;p=php%2Bcache&amp;type=all" target="_blank">Veja</a></li>
<li>Quando lidando com string e você precisar verificar se a string possui certo tamanho, você entendidamente desejara usar a função strlen().<br />
Essa função é bastante rapida, já que ela não faz nenhum calculo, apenas retorna o tamanho ja conhecido da string disponivel na estrutura zval(estrutura interna do C usada para guardar variaveis PHP). No entanto como strlen() é uma função ela ainda assim é lenta, porque o PHP precisa fazer varias operações  como lowercase e buscas na hashtable, e em seguida executar a dita função.<br />
Algumas vezes você podera aumentar a velocidade do seu código usando um truque com isset().<br />
Exemplo: Digamos que voce tem :</p>
<div class="geshi no php">
<div class="head">if (strlen($foo) &lt; 5) { echo &#8220;Foo is too short&#8221;; }</div>
<ol>
<li class="li1">
<div class="de1"><span class="co2"># versus</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">if</span> <span class="br0">&#40;</span><span class="sy0">!</span><span class="kw3">isset</span><span class="br0">&#40;</span><span class="re1">$foo</span><span class="br0">&#123;</span><span class="nu0">5</span><span class="br0">&#125;</span><span class="br0">&#41;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span> <span class="kw3">echo</span> <span class="st0">&quot;Foo is too short&quot;</span><span class="sy0">;</span> <span class="br0">&#125;</span></div>
</li>
</ol>
</div>
<p>Usando isset() sera mais rapido que strlen(), porque diferente de strlen(), isset() é um construtor de linguagem e não uma função, isso quer dizer que a sua execução não necessita busca na hashtable nem uso de lowercase. Virtualmente você não sobrecarga no código atual para determinar o tamanho da string.</li>
<li>Quando incrementando ou decrementando o valor de uma variavel, $i++ normalmente é mais lenta que  ++$i. Isso é especifico para PHP, ou seja, não se aplica a outras linguagens, não sai por ai modificando seu código java ou C. Isso se da porque $i++ usa 4 opcodes enquanto ++$i precisa de somente 3.</li>
<li>Nem tudo precisa ser <acronym title="Programação Orientada a Objetos">OOP</acronym>, gera muita sobrecarga, cada chamada de método e objeto consome um monte de memória.</li>
<li>Não implemente cada estrutura de dados como uma classe, arrays são utéis também.</li>
<li>Não divida muito os métodos, pense bem cada código que sera reusado.</li>
<li>Você sempre podera dividir o código no futuro, caso necessario.</li>
<li>Faça uso das incontaveis funções pré-definidas.</li>
<li>Se você tem muito tempo consumido por funções em seu código, considere escreva-las como extensões C.</li>
<li> Faça Profile do seu código. Um profiler mostra quanto tempo cada parte do seu código consome. A extensão  Xdebug ja contém um profiler.</li>
<li><a href="http://phplens.com/lens/php-book/optimizing-debugging-php.php" target="_blank">Excelente artigo</a> sobre otimização PHP de John Lim (inglês)</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://blog.lucas-ts.com/programacao/traducao-39-dicas-de-perfomance-php/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>

<!-- Dynamic Page Served (once) in 0.364 seconds -->
<!-- Cached page served by WP-Cache -->
