<?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/"
		xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd"
	xmlns:media="http://search.yahoo.com/mrss/"
>

<channel>
	<title>PHPSP.org.br &#187; php 5.3</title>
	<atom:link href="http://phpsp.org.br/tag/php-53/feed/" rel="self" type="application/rss+xml" />
	<link>http://phpsp.org.br</link>
	<description>Grupo de Desenvolvedores de PHP de São Paulo</description>
	<lastBuildDate>Thu, 26 Jan 2012 16:08:17 +0000</lastBuildDate>
	<language>pt-br</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
	<copyright>2006-2009 </copyright>
	<managingEditor>admin@phpsp.org.br (PHPSP.org.br)</managingEditor>
	<webMaster>admin@phpsp.org.br (PHPSP.org.br)</webMaster>
	<category>php</category>
	<ttl>1440</ttl>
	<image>
		<url>http://phpsp.org.br/wp-content/uploads/2009/03/phpspcast-cover-art-144x144.gif</url>
		<title>PHPSP.org.br</title>
		<link>http://phpsp.org.br</link>
		<width>144</width>
		<height>144</height>
	</image>
	<itunes:subtitle>PHP à Paulista!</itunes:subtitle>
	<itunes:summary>Um podcast bem humorado sobre PHP e assuntos relacionados. Baseado no PHPSP, em cada episódio do Podcast são reunidos convidados novos para conversar sobre um assunto relacionado ao PHP de forma descontraida e informativa.</itunes:summary>
	<itunes:keywords>php, phpsp, brasil</itunes:keywords>
	<itunes:category text="Technology" />
	<itunes:category text="Technology">
		<itunes:category text="Software How-To" />
	</itunes:category>
	<itunes:category text="Technology">
		<itunes:category text="Podcasting" />
	</itunes:category>
	<itunes:author>PHPSP.org.br</itunes:author>
	<itunes:owner>
		<itunes:name>PHPSP.org.br</itunes:name>
		<itunes:email>admin@phpsp.org.br</itunes:email>
	</itunes:owner>
	<itunes:block>no</itunes:block>
	<itunes:explicit>no</itunes:explicit>
	<itunes:image href="http://phpsp.org.br/wp-content/uploads/2009/03/phpspcast-coverart-generic.png" />
		<item>
		<title>PHPSPCast #1: PHP5.3 &#8211; O bom, o mal e o Namespaces!</title>
		<link>http://phpsp.org.br/2009/05/phpspcast-1-php53/</link>
		<comments>http://phpsp.org.br/2009/05/phpspcast-1-php53/#comments</comments>
		<pubDate>Wed, 20 May 2009 08:00:33 +0000</pubDate>
		<dc:creator>Rafael Dohms</dc:creator>
				<category><![CDATA[PHPSP]]></category>
		<category><![CDATA[PHPSPCast]]></category>
		<category><![CDATA[irc]]></category>
		<category><![CDATA[php 5.3]]></category>
		<category><![CDATA[php53]]></category>
		<category><![CDATA[twitter]]></category>

		<guid isPermaLink="false">http://phpsp.org.br/?p=462</guid>
		<description><![CDATA[Estamos de volta mais uma vez com um episódio hilário e informativo sobre PHP 5.3. Desta vez, Rafael Dohms, Augusto Pascutti e nosso convidado Guilherme Blanco discutem sobre as novidades da nova versão do PHP, quais as novidades boas, ruins, como surgiram as polêmicas.. e pizza? Só ouvindo para entender! Links comentados durante o podcast [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://phpsp.org.br/wp-content/uploads/2009/05/episodio-1.gif"><img class="alignright size-full wp-image-463" title="PHPSPCast #1" src="http://phpsp.org.br/wp-content/uploads/2009/05/episodio-1.gif" alt="PHPSPCast #1" /></a></p>
<p style="text-align: left;">Estamos de volta mais uma vez com um episódio hilário e informativo sobre PHP 5.3. Desta vez, Rafael Dohms, Augusto Pascutti e nosso convidado Guilherme Blanco discutem sobre as novidades da nova versão do PHP, quais as novidades boas, ruins, como surgiram as polêmicas.. e pizza? Só ouvindo para entender!</p>
<p style="text-align: left;"><span id="more-462"></span></p>
<p style="text-align: left;"><strong>Links comentados durante o podcast </strong></p>
<ul>
<li>Twitto: <a href="http://twitto.org/">http://twitto.org/</a></li>
<li>PHP Counter: <a title="PHP Counter" href="http://www.phpcounter.org/" target="_blank">http://www.phpcounter.org/</a></li>
<li>PHPConf&#8217;09: <a title="PHP Conference Brasil 2009" href="http://www.phpconf.com.br/" target="_blank">http://www.phpconf.com.br/</a></li>
<li>Curso de POO com Augusto Pascutti: <a title="PHP Orientado a Objetos" href="http://www.temporealeventos.com.br/?area=139" target="_blank">http://www.temporealeventos.com.br/?area=139</a></li>
<li>FISL: <a title="10º Fórum Internacional de Software Livre" href="http://fisl.softwarelivre.org/" target="_blank">http://fisl.softwarelivre.org/</a></li>
<li>PHP Brasil Comunidades: <a title="PHP Brasil Comunidades" href="http://www.php.org.br/" target="_blank">http://www.php.org.br/</a></li>
<li>PHP For Windows: <a title="PHP For Windows" href="http://windows.php.net/" target="_blank">http://windows.php.net/</a></li>
<li>Late Static Binding: <a title="Late Static Binding" href="http://phpsp.org.br/2009/05/19/late-static-binding-e-o-php-53/" target="_blank">http://phpsp.org.br/2009/05/19/late-static-binding-e-o-php-53/</a></li>
<li>SPL &#8211; Standard PHP Library: <a title="SPL - Standard PHP Library" href="http://www.php.net/spl" target="_blank">http://www.php.net/spl</a></li>
<li>Declaração do novo separador de Namespaces: <a href="http://news.php.net/php.internals/41374" target="_blank">http://news.php.net/php.internals/41374</a></li>
</ul>
<p style="text-align: left;">
<p style="text-align: left;"><strong>Twitters</strong></p>
<ul>
<li><a title="Augusto Pascutti" href="http://www.twitter.com/augustohp" target="_blank">@augustohp</a> &#8211; Augusto Pascutti</li>
<li><a title="Rafael Dohms" href="http://www.twitter.com/rdohms" target="_blank">@rdohms</a> &#8211; Rafael Dohms</li>
<li><a title="Anderson &quot;Duodraco&quot; Casimiro" href="http://www.twitter.com/duodraco" target="_blank">@duodraco</a> &#8211; Anderson &#8220;duodraco&#8221; Casimiro</li>
<li><a title="Ivan Rosolen" href="http://www.twitter.com/ivanrosolen" target="_blank">@ivanrosolen</a> &#8211; Ivan Rosolen</li>
<li><a title="Guilherme Blanco" href="http://www.twitter.com/guilhermeblanco" target="_blank">@guilhermeblanco</a> &#8211; Guilherme Blanco</li>
</ul>
<p><strong></strong></p>
<p>Quer divulgar seu twitter no PHPSP? Mande um email com seu nome e &#8216;login do twitter&#8217; para <a href="mailto:twitter@phpsp.org.br"><strong>twitter@phpsp.org.br</strong></a></p>
<p>Quer visualizar twitter da galera? <a title="Twitters" href="http://phpsp.org.br/twitters/" target="_blank"><strong>Clique aqui!</strong></a></p>
<p><strong> IRC</strong></p>
<p>Server: irc.freenode.net<br />
Canal: #phpsp</p>
<p><strong>Escute!</strong></p>
<p></p>
<h3><strong>Assine!</strong></h3>
<p>Assine o PHPSPCast: <strong><a href="http://feeds2.feedburner.com/phpspcast" target="_blank">http://feeds2.feedburner.com/phpspcast</a> </strong></p>
<h4><strong>No iTunes:</strong></h4>
<p>Quer assinar o PHPSPCast em seu iTunes? <a title="Assinar PHPSPCast no iTunes" href="http://phpsp.org.br/phpspcast-no-itunes/" target="_self"><strong>Clique aqui</strong></a> e saiba como assinar pelo iTunes ou fazer o download pelo iPhone/iPod!</p>
<h3><strong>Recados!</strong></h3>
<p>Elogios, críticas, sugestões, dúvidas ou <strong>#fail</strong> sobre este episódio?  Idéias, temas e dúvidas para o próximo<strong> </strong>PHPSPCast?  Mande email para <strong><a href="mailto:phpspcast@phpsp.org.br">phpspcast@phpsp.org.br</a> </strong>ou um recado de voz para phpspcast@phpsp.org.br pelo Google Talk.</p>
<div class="wp-about-author-containter-top" style="background-color:#FFF;"><div class="wp-about-author-pic"><img alt='' src='http://0.gravatar.com/avatar/4c678b5f99c982a1acf01be4b37efb8d?s=100&amp;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D100&amp;r=G' class='avatar avatar-100 photo' height='100' width='100' /></div><div class="wp-about-author-text"><h3><a href='http://phpsp.org.br/author/rdohms/' title='Rafael Dohms'>Rafael Dohms</a></h3><p>Rafael Dohms é um Evangelista PHP e membro ativo da Comunidade PHP. Ele ajudou na fundação de dois Grupos de Usuários de PHP ao longo do tempo e hoje compatilha a coordenação do PHPSP. Desenvolvedor, gamer e apaixonado por código ele também é host do primeiro podcast de PHP do Brasil: PHPSPCast.

Atualmente ele trabalha na equipe SWAT do grupo MIH, uma equipe de experts que fornecem conhecimento técnico para o grupo além de trabalhar com P&amp;D buscando novos nichos da internet e tecnologia. Seu papel como Desenvolvedor Sênior é codar, treinar e auxiliar outras empresas e se divertir enquanto faz isso.</p><p><a href='http://www.rafaeldohms.com.br' title='Rafael Dohms'>Website</a> - <a href='http://www.twitter.com/rdohms' title='Rafael Dohmson Twitter'>Twitter</a> - <a href='http://phpsp.org.br/author/rdohms/' title='More posts by Rafael Dohms'>More Posts</a> </p></div></div>]]></content:encoded>
			<wfw:commentRss>http://phpsp.org.br/2009/05/phpspcast-1-php53/feed/</wfw:commentRss>
		<slash:comments>31</slash:comments>
			<enclosure url="http://phpsp.org.br/wp-content/uploads/podcast/PHPSPCast-1.mp3" length="45765613" type="audio/mpeg" />
		<itunes:duration>1:35:20</itunes:duration>
		<itunes:subtitle>
Estamos de volta mais uma vez com um episódio hilário e informativo sobre PHP 5.3. Desta vez, Rafael Dohms, Augusto Pascutti e nosso convidado Guilherme Blanco discutem sobre as novidades da nova versão do PHP, quais as novidades boas, ruins, como [...]</itunes:subtitle>
		<itunes:summary>
Estamos de volta mais uma vez com um episódio hilário e informativo sobre PHP 5.3. Desta vez, Rafael Dohms, Augusto Pascutti e nosso convidado Guilherme Blanco discutem sobre as novidades da nova versão do PHP, quais as novidades boas, ruins, como surgiram as polêmicas.. e pizza? Só ouvindo para entender!

Links comentados durante o podcast 

Twitto: http://twitto.org/
PHP Counter: http://www.phpcounter.org/
PHPConf&#8217;09: http://www.phpconf.com.br/
Curso de POO com Augusto Pascutti: http://www.temporealeventos.com.br/?area=139
FISL: http://fisl.softwarelivre.org/
PHP Brasil Comunidades: http://www.php.org.br/
PHP For Windows: http://windows.php.net/
Late Static Binding: http://phpsp.org.br/2009/05/19/late-static-binding-e-o-php-53/
SPL &#8211; Standard PHP Library: http://www.php.net/spl
Declaração do novo separador de Namespaces: http://news.php.net/php.internals/41374


Twitters

@augustohp &#8211; Augusto Pascutti
@rdohms &#8211; Rafael Dohms
@duodraco &#8211; Anderson &#8220;duodraco&#8221; Casimiro
@ivanrosolen &#8211; Ivan Rosolen
@guilhermeblanco &#8211; Guilherme Blanco


Quer divulgar seu twitter no PHPSP? Mande um email com seu nome e &#8216;login do twitter&#8217; para twitter@phpsp.org.br
Quer visualizar twitter da galera? Clique aqui!
 IRC
Server: irc.freenode.net
Canal: #phpsp
Escute!

Assine!
Assine o PHPSPCast: http://feeds2.feedburner.com/phpspcast 
No iTunes:
Quer assinar o PHPSPCast em seu iTunes? Clique aqui e saiba como assinar pelo iTunes ou fazer o download pelo iPhone/iPod!
Recados!
Elogios, críticas, sugestões, dúvidas ou #fail sobre este episódio?  Idéias, temas e dúvidas para o próximo PHPSPCast?  Mande email para phpspcast@phpsp.org.br ou um recado de voz para phpspcast@phpsp.org.br pelo Google Talk.
Rafael DohmsRafael Dohms é um Evangelista PHP e membro ativo da Comunidade PHP. Ele ajudou na fundação de dois Grupos de Usuários de PHP ao longo do tempo e hoje compatilha a coordenação do PHPSP. Desenvolvedor, gamer e apaixonado por código ele também é host do primeiro podcast de PHP do Brasil: PHPSPCast.

Atualmente ele trabalha na equipe SWAT do grupo MIH, uma equipe de experts que fornecem conhecimento técnico para o grupo além de trabalhar com P&#38;D buscando novos nichos da internet e tecnologia. Seu papel como Desenvolvedor Sênior é codar, treinar e auxiliar outras empresas e se divertir enquanto faz isso.Website - Twitter - More Posts </itunes:summary>
		<itunes:keywords>PHPSP, PHPSPCast</itunes:keywords>
		<itunes:author>PHPSP.org.br</itunes:author>
		<itunes:explicit>no</itunes:explicit>
		<itunes:block>no</itunes:block>
	</item>
		<item>
		<title>Late Static Binding e o PHP 5.3</title>
		<link>http://phpsp.org.br/2009/05/late-static-binding-e-o-php-53/</link>
		<comments>http://phpsp.org.br/2009/05/late-static-binding-e-o-php-53/#comments</comments>
		<pubDate>Tue, 19 May 2009 15:37:11 +0000</pubDate>
		<dc:creator>Augusto Pascutti</dc:creator>
				<category><![CDATA[Artigos]]></category>
		<category><![CDATA[Des-sobrinhação]]></category>
		<category><![CDATA[oo]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[php 5.3]]></category>

		<guid isPermaLink="false">http://phpsp.org.br/?p=465</guid>
		<description><![CDATA[Foi lançado a alguns dias a RC2 (release candidate 2) da nova major version do PHP, a versão 5.3. Em alguns dias o PHPSPCast sobre PHP 5.3 deve ir ao ar, mas enquanto ele não chega, vamos entender um pouco mais sobre o problema de Late Static Binding que foi resolvido no PHP 5.3. O [...]]]></description>
			<content:encoded><![CDATA[<p>Foi lançado a alguns dias a RC2 (release candidate 2) da nova major version do PHP, a versão 5.3. Em alguns dias o PHPSPCast sobre PHP 5.3 deve ir ao ar, mas enquanto ele não chega, vamos entender um pouco mais sobre o problema de Late Static Binding que foi resolvido no PHP 5.3.</p>
<p><strong>O Problema</strong></p>
<p>Eu já tentei explicar conceitualmente, mas, sinceramente? Ninguém entendeu (comigo incluso). Então vamos pra prática. Vamos supor que tenhamos as duas classes abaixo:</p>
<p><code><br />
</code></p>
<pre class="brush: php; title: ; notranslate">
class User {
public static function getTipo() {
return 'user';
}

public static function showTipo() {
echo self::getTipo();
}
}

class Admin extends User {
public static function getTipo() {
return 'admin';
}
}

Admin::showTipo(); // imprime: 'user'
</pre>
<p><span id="more-465"></span></p>
<p>A linha 17 do código acima deveria retornar &#8216;admin&#8217; e não &#8216;user&#8217; como foi retornado. Esse seria o comportamente esperado.  O problema é a palavra reservada self não resolve a chamada estática, assim como a contante __CLASS__ que se for usada, também retorna a classe errada. Ambos não resolvem a chamada em tempo de execução, eles somente verificam ondem foram declaradas e retornam isso.</p>
<p><strong>A solução</strong></p>
<p>A solução não é nenhuma mágica, ou seja, o código não se resolverá sozinho. Quem sabe um dia? A partir da versão 5.3 que será lançada este ano, você poderá usar uma palavra reservada do PHP (que não é nova) e ela &#8211; ao contrário do self &#8211; irá resolver a chamada em tempo de execução e retornará os valores corretos. A palavra é: static. Sugestivo não?</p>
<p><code><br />
</code></p>
<pre class="brush: php; title: ; notranslate">
class User {
public static function getTipo() {
return 'user';
}

public static function showTipo() {
echo static::getTipo();
}
}

class Admin extends User {
public static function getTipo() {
return 'admin';
}
}

Admin::showTipo(); // imprime: 'admin' (PHP 5.3)
</pre>
<p>Com a troca do <em>self</em> pelo <em>static</em>, o PHP consegue resolver a classe que chamou o método e retornar o valor correto.</p>
<p><strong>O problema (A revolta dos que não foram)</strong></p>
<p>Magicamente, a solução no PHP 5.3 apresenta um (pasme) novo problema. Antes tínhamos o problema (Late Static Binding) de que o PHP não resolvia a classe que chamava o método, o PHP só via em chamadas estáticas o local onde ele foi declarado. Agora nosso problema passa a ser que o PHP não consegue mais ver corretamente chamadas de classes pai, veja o código abaixo e tire suas próprias conclusões.</p>
<p><code><br />
</code></p>
<pre class="brush: php; title: ; notranslate">
class User {
public static function getTipo() {
return 'user';
}

public static function showTipo() {
echo static::getTipo();
}
}

class Moderador extends User {
public static function getTipo() {
return 'mod';
}

public static function norris() {
User::showTipo();
parent::showTipo();
self::showTipo();
}
}

class Admin extends Moderador {
public static function getTipo() {
return 'admin';
}
}

Admin::norris();
/**
* Imprime
* user
* admin
* admin
*/
</pre>
<p>Enfim, o PHP 5.3 está chegando com grandes mudanças, é importante ressaltar que esta é uma <em>major release</em> e que muitas coisas devem ser levadas em consideração. O PHP já possui release candidates para você testar, então se você ainda não testou o que está esperando? Se você puder ainda compilar, não esqueça de rodar um <em>`make test`</em> e enviar os dados para o <em>http://qa.php.net/</em> para que suas estátisticas dos testes efetuados sejam computados; só isso já é uma contribuição para o projeto. Aguardem essa semana o PHPSPCast sobre as novidades do PHP 5.3, e logicamente, vão se preparando para ele.</p>
<p>A documentação do PHP sobre a implementação de Late Static Binding já existe, inclusive em português e pode ser vista aqui: <a href="http://br2.php.net/manual/pt_BR/language.oop5.late-static-bindings.php" target="_blank">http://br2.php.net/manual/pt_BR/language.oop5.late-static-bindings.php</a></p>
<div class="wp-about-author-containter-top" style="background-color:#FFF;"><div class="wp-about-author-pic"><img alt='' src='http://0.gravatar.com/avatar/89de242e444d231e9928320af0417571?s=100&amp;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D100&amp;r=G' class='avatar avatar-100 photo' height='100' width='100' /></div><div class="wp-about-author-text"><h3><a href='http://phpsp.org.br/author/augusto/' title='Augusto Pascutti'>Augusto Pascutti</a></h3><p>Augusto Pascutti é desenvolvedor PHP a 5 anos, trabalhou em projetos Open Source como CakePHP, Zend Framework e Habari. É evangelista PHP e de boas práticas, Zend Certified Engineer para PHP 5, fundador/coordenador do PHPSP, host do PHPSPCast e headbanger nas horas vagas.</p><p><a href='http://www.augustopascutti.com' title='Augusto Pascutti'>Website</a> - <a href='http://phpsp.org.br/author/augusto/' title='More posts by Augusto Pascutti'>More Posts</a> </p></div></div>]]></content:encoded>
			<wfw:commentRss>http://phpsp.org.br/2009/05/late-static-binding-e-o-php-53/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Twitto: Framework que cabe em um tweet !</title>
		<link>http://phpsp.org.br/2009/03/twitto-framework-que-cabe-em-um-tweet/</link>
		<comments>http://phpsp.org.br/2009/03/twitto-framework-que-cabe-em-um-tweet/#comments</comments>
		<pubDate>Thu, 19 Mar 2009 23:35:56 +0000</pubDate>
		<dc:creator>Augusto Pascutti</dc:creator>
				<category><![CDATA[Des-sobrinhação]]></category>
		<category><![CDATA[framework]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[php 5.3]]></category>
		<category><![CDATA[twitter]]></category>

		<guid isPermaLink="false">http://phpsp.org.br/?p=286</guid>
		<description><![CDATA[Se você &#8211; a esta altura do campeonato &#8211; não faz idéia do que é um &#8220;tweet&#8221;, ponha-se daqui para www.twitter.com ! Agora ! Podemos conversar de igual pra igual. Pense em um framework. Uma coisa grande. Com várias opções, módulos, suporte a plugins, MVC, talvez um Data Mapper, etc, etc, etc. Agora pense em [...]]]></description>
			<content:encoded><![CDATA[<p>Se você &#8211; a esta altura do campeonato &#8211; não faz idéia do que é um &#8220;tweet&#8221;, ponha-se daqui para <a title="Twitter" href="http://twitter.com" target="_blank">www.twitter.com</a> !</p>
<p>Agora ! Podemos conversar de igual pra igual. Pense em um framework. Uma coisa grande. Com várias opções, módulos, suporte a plugins, MVC, talvez um Data Mapper, etc, etc, etc. Agora pense em um tweet: 140 caracteres. São coisas como óleo e água, gato e cachorro, são paulinos e mulheres (eu ainda vou escutar por causa disso).</p>
<p><span id="more-286"></span></p>
<p>Pois bem, tentando mostrar a beleza feminina aos São Paulinos &#8211; ou que um framework não precisa ser uma coisa grande, pra quem não entendeu a piada -, o fundador do Symphony (o framework) criou o Twitto: um framework do tamanho de um tweet, ou seja: 140 caracteres. Na verdade &#8211; e lógico &#8211; ele não e grande coisa, simplismente funciona como um Front Controller bem básico. Mas é uma prova de conceito e usa novas features do PHP 5.3, enfim &#8230; o dito cujo segue abaixo.</p>
<pre class="textmate-source twilight"><span class="linenum">    1</span> <span class="text text_html text_html_basic"><span class="source source_php source_php_embedded source_php_embedded_block source_php_embedded_block_html"><span class="punctuation punctuation_section punctuation_section_embedded punctuation_section_embedded_begin punctuation_section_embedded_begin_php">&lt;?php</span>
<span class="linenum">    2</span> <span class="meta meta_include meta_include_php"><span class="keyword keyword_control keyword_control_import keyword_control_import_include keyword_control_import_include_php">require</span> <span class="constant constant_other constant_other_php">__DIR__</span><span class="keyword keyword_operator keyword_operator_string keyword_operator_string_php">.</span><span class="string string_quoted string_quoted_single string_quoted_single_php"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_php">'</span><span class="meta meta_string-contents meta_string-contents_quoted meta_string-contents_quoted_single meta_string-contents_quoted_single_php">/c.php</span><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_php">'</span></span></span><span class="punctuation punctuation_terminator punctuation_terminator_expression punctuation_terminator_expression_php">;</span>
<span class="linenum">    3</span> <span class="keyword keyword_control keyword_control_php">if</span> (<span class="keyword keyword_operator keyword_operator_logical keyword_operator_logical_php">!</span><span class="support support_function support_function_type support_function_type_php">is_callable</span>(<span class="variable variable_other variable_other_php"><span class="punctuation punctuation_definition punctuation_definition_variable punctuation_definition_variable_php">$</span>c</span> <span class="keyword keyword_operator keyword_operator_assignment keyword_operator_assignment_php">=</span> <span class="keyword keyword_operator keyword_operator_error-control keyword_operator_error-control_php">@</span><span class="variable variable_other variable_other_global variable_other_global_php"><span class="punctuation punctuation_definition punctuation_definition_variable punctuation_definition_variable_php">$</span>_GET</span>[<span class="string string_quoted string_quoted_single string_quoted_single_php"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_php">'</span><span class="meta meta_string-contents meta_string-contents_quoted meta_string-contents_quoted_single meta_string-contents_quoted_single_php">c</span><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_php">'</span></span>] ?: <span class="storage storage_type storage_type_php">function</span>() { <span class="support support_function support_function_construct support_function_construct_php">echo</span> <span class="string string_quoted string_quoted_single string_quoted_single_php"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_php">'</span><span class="meta meta_string-contents meta_string-contents_quoted meta_string-contents_quoted_single meta_string-contents_quoted_single_php">Woah!</span><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_php">'</span></span><span class="punctuation punctuation_terminator punctuation_terminator_expression punctuation_terminator_expression_php">;</span> }))
<span class="linenum">    4</span>   <span class="keyword keyword_control keyword_control_exception keyword_control_exception_php">throw</span> <span class="keyword keyword_other keyword_other_new keyword_other_new_php">new</span> <span class="support support_class support_class_php">Exception</span>(<span class="string string_quoted string_quoted_single string_quoted_single_php"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_php">'</span><span class="meta meta_string-contents meta_string-contents_quoted meta_string-contents_quoted_single meta_string-contents_quoted_single_php">Error</span><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_php">'</span></span>)<span class="punctuation punctuation_terminator punctuation_terminator_expression punctuation_terminator_expression_php">;</span>
<span class="linenum">    5</span> <span class="variable variable_other variable_other_php"><span class="punctuation punctuation_definition punctuation_definition_variable punctuation_definition_variable_php">$</span>c</span>()<span class="punctuation punctuation_terminator punctuation_terminator_expression punctuation_terminator_expression_php">;</span></span>
</span></pre>
<p>Agora você pode se parguntar, quais são as coisas &#8220;novas&#8221; que o twitto está usando, simples:</p>
<ul>
<li>Constante <code>__DIR__</code></li>
<li>Operador <code>?:</code></li>
<li>Funções anônimas</li>
</ul>
<p>No fim, o Twitto existe apenas como brincadeira, e para mostrar alguns novos recursos do PHP 5.3, mas se ele realmente for aceito como framework ele é o mais rápido existente. Mais pra frente mostro uns benchmarks que estou fazendo e o twitto já está neles.</p>
<p>O site do Twitto é: www.twitto.org</p>
<div class="wp-about-author-containter-top" style="background-color:#FFF;"><div class="wp-about-author-pic"><img alt='' src='http://0.gravatar.com/avatar/89de242e444d231e9928320af0417571?s=100&amp;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D100&amp;r=G' class='avatar avatar-100 photo' height='100' width='100' /></div><div class="wp-about-author-text"><h3><a href='http://phpsp.org.br/author/augusto/' title='Augusto Pascutti'>Augusto Pascutti</a></h3><p>Augusto Pascutti é desenvolvedor PHP a 5 anos, trabalhou em projetos Open Source como CakePHP, Zend Framework e Habari. É evangelista PHP e de boas práticas, Zend Certified Engineer para PHP 5, fundador/coordenador do PHPSP, host do PHPSPCast e headbanger nas horas vagas.</p><p><a href='http://www.augustopascutti.com' title='Augusto Pascutti'>Website</a> - <a href='http://phpsp.org.br/author/augusto/' title='More posts by Augusto Pascutti'>More Posts</a> </p></div></div>]]></content:encoded>
			<wfw:commentRss>http://phpsp.org.br/2009/03/twitto-framework-que-cabe-em-um-tweet/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
	</channel>
</rss>

