<?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</title>
	<atom:link href="http://phpsp.org.br/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, 17 May 2012 16:59:46 +0000</lastBuildDate>
	<language>pt-br</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.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>WICA 2012</title>
		<link>http://phpsp.org.br/2012/05/wica-2012/</link>
		<comments>http://phpsp.org.br/2012/05/wica-2012/#comments</comments>
		<pubDate>Thu, 17 May 2012 16:59:46 +0000</pubDate>
		<dc:creator>duodraco</dc:creator>
				<category><![CDATA[Notícias]]></category>

		<guid isPermaLink="false">http://phpsp.org.br/?p=2821</guid>
		<description><![CDATA[Não, você não leu errado&#8230; e antes que imagine que o PHPSP mudou seu foco estamos falando de um evento da Universidade Cruzeiro do Sul. O Workshop de Informática e Computação Aplicada (WICA ;)) é uma atividade que se realiza em consonância com o planejamento da Coordenação de Informática da Universidade Cruzeiro do Sul, relativamente [...]]]></description>
			<content:encoded><![CDATA[<p>Não, você não leu errado&#8230; e antes que imagine que o PHPSP mudou seu foco estamos falando de um evento da Universidade Cruzeiro do Sul.</p>
<p><a href="http://sites.cruzeirodosulvirtual.com.br/wica"><img class="aligncenter" title="Mascote do WICA" src="http://sites.cruzeirodosulvirtual.com.br/wica/imagens/bruxa.jpg" alt="" width="204" height="259" /></a></p>
<p>O Workshop de Informática e Computação Aplicada (WICA ;)) é uma atividade que se realiza em consonância com o planejamento da Coordenação de Informática da Universidade Cruzeiro do Sul, relativamente a eventos voltados para a área de <em>Computação e Tecnologia </em>, cujo objetivo precípuo é a difusão e o uso de novas tecnologias. Buscando a integração entre alunos, professores e meio empresarial, o WICA&#8217;12 contará com a participação de várias empresas de destaque no mercado. Palestras, workshops e minicursos são algumas das atividades que ocorrerão durante o evento.</p>
<p>Alguns membros da nossa comunidade irão apresentar palestras na sexta-feira, dia 25 de Maio:</p>
<ul>
<li>Alexandre Gaigalas [<a title="Twitter do Alexandre" href="http://twitter.com/alganet" target="_blank">@alganet</a>] <strong>REST de verdade</strong> &#8211; Campus São Miguel, 9h</li>
<li>Kinn Julião [<a title="Twitter do Kinn" href="http://twitter.com/kinncj" target="_blank">@kinncj</a>] <strong>PHP Mobile</strong> &#8211; Campus São Miguel, 20h</li>
<li>Anderson Casimiro [<a title="Twitter do Anderson" href="http://twitter.com/duodraco" target="_blank">@duodraco</a>] <strong>Excelência: Qualidade, Agilidade e Criatividade</strong> &#8211; Campus Pinheiros, 20h</li>
</ul>
<p>Visite o Site do <a title="Site do Workshop de Informática e Computação Aplicada" href="http://sites.cruzeirodosulvirtual.com.br/wica/" target="_blank">WICA</a> para mais informações e também o portal da <a title="Universidade Cruzeiro do Sul" href="http://www.cruzeirodosul.edu.br" target="_blank">Universidade Cruzeiro do Sul</a></p>
<p>Nos vemos lá</p>
]]></content:encoded>
			<wfw:commentRss>http://phpsp.org.br/2012/05/wica-2012/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PHPUBSP &#8211; O Ágil</title>
		<link>http://phpsp.org.br/2012/04/phpubsp-o-agil/</link>
		<comments>http://phpsp.org.br/2012/04/phpubsp-o-agil/#comments</comments>
		<pubDate>Fri, 20 Apr 2012 15:01:37 +0000</pubDate>
		<dc:creator>duodraco</dc:creator>
				<category><![CDATA[Notícias]]></category>

		<guid isPermaLink="false">http://phpsp.org.br/?p=2795</guid>
		<description><![CDATA[Salve PHPessoal! Estamos chegando à nossa oitava edição e como de costume, na última terça deste mês, teremos um novo palestrante &#8211; para mais uma noite de conhecimento, descontração e ótimas bebidas! O Palestrante da vez é o Danilo Cabello [@dcabello], desenvolvedor no Yahoo &#8211; que nos contará o que mudou em sua vida depois [...]]]></description>
			<content:encoded><![CDATA[<p>Salve PHPessoal!</p>
<p>Estamos chegando à nossa oitava edição e como de costume, na última terça deste mês, teremos um novo palestrante &#8211; para mais uma noite de conhecimento, descontração e ótimas bebidas!</p>
<p>O Palestrante da vez é o Danilo Cabello [<a title="Twitter do Danilo" href="http://twitter.com/dcabello" target="_blank">@dcabello</a>], desenvolvedor no Yahoo &#8211; que nos contará o que mudou em sua vida depois de conhecer (e aplicar) metodologias Ágeis.</p>
<p>O evento, como é de praxe, acontece no <a title="Tribeca Pub" href="http://www.tribecapub.com.br" target="_blank">Tribeca Pub</a> no próximo dia 24, a partir das 20h. Para participar visite a <a title="Página do Evento no Facebook" href="https://www.facebook.com/events/401661496524233" target="_blank">página do evento no facebook</a> e participe do grupo!</p>
<p>Até lá</p>
]]></content:encoded>
			<wfw:commentRss>http://phpsp.org.br/2012/04/phpubsp-o-agil/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PHPUBSP + Microsoft</title>
		<link>http://phpsp.org.br/2012/03/phpubsp-microsoft/</link>
		<comments>http://phpsp.org.br/2012/03/phpubsp-microsoft/#comments</comments>
		<pubDate>Wed, 21 Mar 2012 12:00:24 +0000</pubDate>
		<dc:creator>duodraco</dc:creator>
				<category><![CDATA[Eventos]]></category>
		<category><![CDATA[phpubsp]]></category>
		<category><![CDATA[azure]]></category>
		<category><![CDATA[cloud]]></category>
		<category><![CDATA[microsoft]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://phpsp.org.br/?p=2766</guid>
		<description><![CDATA[Salve Galera Nosso evento mensal volta agora em Março trazendo conteúdo de qualidade, diversão e ótimas cervejas. Neste mês vamos falar sobre computação em nuvem &#8230; e ninguém melhor para falar do assunto que a Microsoft. Vinícius Souza apresentará Cloud Computing com Windows Azure e PHP. Para quem ainda não sabe o PHPUBSP acontece toda [...]]]></description>
			<content:encoded><![CDATA[<p>Salve Galera</p>
<p>Nosso evento mensal volta agora em Março trazendo conteúdo de qualidade, diversão e ótimas cervejas.</p>
<p><a href="http://phpsp.org.br/wp-content/uploads/2011/09/phpubsp-final.png"><img class="size-medium wp-image-2096" title="phpubsp-final" src="http://phpsp.org.br/wp-content/uploads/2011/09/phpubsp-final-300x85.png" alt="PHPUBSP" width="174" align="absmiddle" /></a><a href="http://www.microsoft.com/pt-BR/default.aspx"><img title="Microsoft" src="http://i.microsoft.com/global/en-us/homepage/PublishingImages/sprites/microsoft_gray.png" alt="" width="174" height="28" align="absmiddle" /><br />
</a></p>
<p>Neste mês vamos falar sobre computação em nuvem &#8230; e ninguém melhor para falar do assunto que a Microsoft. Vinícius Souza apresentará Cloud Computing com <a title="Site do Windows Azure" href="http://www.windowsazure.com" target="_blank">Windows Azure</a> e PHP.</p>
<p>Para quem ainda não sabe o PHPUBSP acontece toda ultima terça-feira do mês (no próximo dia 27) no <a title="Site do Tribeca Pub" href="http://www.tribecapub.com.br" target="_blank">Tribeca Pub</a> &#8211; Rua Ramos Batista 378, Vl. Olímpia &#8211; a partir das 20h.</p>
<p>O evento está no facebook. Confirme já sua presença lá na <a title="Página deste evento no facebook" href="https://www.facebook.com/events/214942318613347" target="_blank">nossa página</a>.</p>
<p>Até lá.</p>
]]></content:encoded>
			<wfw:commentRss>http://phpsp.org.br/2012/03/phpubsp-microsoft/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>PHPUBSP &#8211; Pós-Pholia</title>
		<link>http://phpsp.org.br/2012/02/phpubsp-pos-pholia/</link>
		<comments>http://phpsp.org.br/2012/02/phpubsp-pos-pholia/#comments</comments>
		<pubDate>Wed, 22 Feb 2012 16:41:10 +0000</pubDate>
		<dc:creator>duodraco</dc:creator>
				<category><![CDATA[Eventos]]></category>
		<category><![CDATA[phpubsp]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://phpsp.org.br/?p=2756</guid>
		<description><![CDATA[Salve Galera Nosso evento mensal volta após a folia para trazer conteúdo de qualidade como sempre. Neste mês o phpubsp ocorrerá dia 28 e o palestrante da vez é o Erick Tedeschi[@ericktedeschi] com a Palestra &#8220;Hacking + PHP&#8221;. Ele é Analista de Segurança na Abril, formado em Analise e Desenvolvimento de Sistemas além de Contribuidor [...]]]></description>
			<content:encoded><![CDATA[<p>Salve Galera</p>
<p>Nosso evento mensal volta após a folia para trazer conteúdo de qualidade como sempre.</p>
<p><a href="http://phpsp.org.br/wp-content/uploads/2011/09/phpubsp-final1.png"><img class="aligncenter size-medium wp-image-2104" title="phpubsp-final" src="http://phpsp.org.br/wp-content/uploads/2011/09/phpubsp-final1-300x85.png" alt="" width="300" height="85" /></a></p>
<p>Neste mês o phpubsp ocorrerá dia 28 e o palestrante da vez é o <a title="Site do Erick" href="http://oerick.com" target="_blank">Erick Tedeschi</a>[<a title="Twitter do Erick" href="http://twitter.com/ericktedeschi" target="_blank">@ericktedeschi</a>] com a Palestra &#8220;Hacking + PHP&#8221;. Ele é Analista de Segurança na Abril, formado em Analise e Desenvolvimento de Sistemas além de Contribuidor Opensource em vários projetos.</p>
<p>Para quem ainda não sabe o PHPUBSP é um evento mensal. Realizamos uma palestra num clima bem descontraído no <a title="Site do Tribeca Pub" href="http://tribecapub.com.br" target="_blank">Tribeca Pub</a>, que fica na Rua Ramos Batista, 378 &#8211; Vl Olimpia, SP.  Sempre a partir das 20h.</p>
<p>Para participar acesse <a title="Página do PHPUBSP no Facebook" href="https://www.facebook.com/events/135245439932284" target="_blank">a página do evento no facebook</a> e confirme sua presença.</p>
<p>Até lá</p>
]]></content:encoded>
			<wfw:commentRss>http://phpsp.org.br/2012/02/phpubsp-pos-pholia/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PHPUBSP &#8211; Janeiro &#8217;12</title>
		<link>http://phpsp.org.br/2012/01/phpubsp-janeiro-12/</link>
		<comments>http://phpsp.org.br/2012/01/phpubsp-janeiro-12/#comments</comments>
		<pubDate>Thu, 26 Jan 2012 15:26:53 +0000</pubDate>
		<dc:creator>duodraco</dc:creator>
				<category><![CDATA[Eventos]]></category>
		<category><![CDATA[phpubsp]]></category>

		<guid isPermaLink="false">http://phpsp.org.br/?p=2730</guid>
		<description><![CDATA[Salve Amigos! Nosso evento mensal está de volta em 2012. Mesmo bat-horário (20h) e mesmo bat-local (Tribeca Pub &#8211; Rua Ramos Batista, 378 &#8211; Vl Olimpia)  e como (quase) sempre na ultima terça-feira: dia 31 de Janeiro. O Palestrante da vez será novamente o Alexandre Gaigalas [@alganet] que está preparando uma surpresa para nós. Quer [...]]]></description>
			<content:encoded><![CDATA[<p>Salve Amigos!</p>
<p><a href="http://phpsp.org.br/wp-content/uploads/2011/09/phpubsp-final1.png"><img class="aligncenter size-medium wp-image-2104" title="phpubsp-final" src="http://phpsp.org.br/wp-content/uploads/2011/09/phpubsp-final1-300x85.png" alt="" width="300" height="85" /></a></p>
<p>Nosso evento mensal está de volta em 2012. Mesmo bat-horário (20h) e mesmo bat-local (<a title="Site do Tribeca Pub" href="http://www.tribecapub.com.br" target="_blank">Tribeca Pub</a> &#8211; Rua Ramos Batista, 378 &#8211; Vl Olimpia)  e como (quase) sempre na ultima terça-feira: dia 31 de Janeiro.</p>
<p>O Palestrante da vez será novamente o <a title="Página do Alexandre Gaigalas" href="http://gaigal.as" target="_blank">Alexandre Gaigalas</a> [<a href="http://twitter.com/alganet" target="_blank">@alganet</a>] que está preparando uma surpresa para nós.</p>
<p>Quer participar? visite a <a title="Página do evento no facebook" href="http://www.facebook.com/events/126079987513200/" target="_blank">página do evento no facebook</a> e confirme sua presença.</p>
<p>Até lá</p>
]]></content:encoded>
			<wfw:commentRss>http://phpsp.org.br/2012/01/phpubsp-janeiro-12/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PHPUBSP &#8211; Edição de Natal</title>
		<link>http://phpsp.org.br/2011/12/phpubsp-edicao-de-natal/</link>
		<comments>http://phpsp.org.br/2011/12/phpubsp-edicao-de-natal/#comments</comments>
		<pubDate>Thu, 15 Dec 2011 11:14:10 +0000</pubDate>
		<dc:creator>duodraco</dc:creator>
				<category><![CDATA[Encontros]]></category>
		<category><![CDATA[Notícias]]></category>
		<category><![CDATA[phpubsp]]></category>
		<category><![CDATA[Unconferences & Butecos]]></category>
		<category><![CDATA[PHPSP]]></category>
		<category><![CDATA[pupubsp]]></category>

		<guid isPermaLink="false">http://phpsp.org.br/?p=2697</guid>
		<description><![CDATA[Salve Galera! Nosso evento mensal será um pouco mais cedo em Dezembro: dia 20, às 20h. Onde? No mesmo local: Tribeca Pub &#8211; Rua Ramos Batista, 378 &#8211; Vila Olímpia &#8211; SP. O palestrante da vez é o Thiago Rigo [@thiagophx], Desenvolvedor na Arizona, contribuidor PHP, além de mantenedor do Crud-Igniter e PHPML. Ele apresentará [...]]]></description>
			<content:encoded><![CDATA[<p><img class="size-medium wp-image-2104 alignleft" title="phpubsp-final" src="http://phpsp.org.br/wp-content/uploads/2011/09/phpubsp-final1-300x85.png" alt="" width="300" height="85" /></p>
<p>Salve Galera!</p>
<p>Nosso evento mensal será um pouco mais cedo em Dezembro: dia 20, às 20h. Onde? No mesmo local: Tribeca Pub &#8211; Rua Ramos Batista, 378 &#8211; Vila Olímpia &#8211; SP.</p>
<p>O palestrante da vez é o <a title="Blog do Thiago Rigo" href="http://thiagorigo.com/blog/" target="_blank">Thiago Rigo</a> [<a title="Twitter do Thiago Rigo" href="http://twitter.com/thiagophx" target="_blank">@thiagophx</a>], Desenvolvedor na <a title="Arizona - Premedia e Automação de Marketing" href="http://arizona.com.br" target="_blank">Arizona</a>, contribuidor PHP, além de mantenedor do <a title="Crud-Igniter" href="http://code.google.com/p/crud-igniter/" target="_blank">Crud-Igniter</a> e <a title="PHPML" href="https://github.com/phpml/phpml" target="_blank">PHPML</a>. Ele apresentará o &#8220;PHP ao Extremo&#8221;</p>
<p>Para participar? Visite a <a title="Página do PHPUBSP no Facebook" href="https://www.facebook.com/events/159567440809859/" target="_blank">página do evento</a> no facebook e confirme sua presença.</p>
<p>Aguardamos você lá.</p>
]]></content:encoded>
			<wfw:commentRss>http://phpsp.org.br/2011/12/phpubsp-edicao-de-natal/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PHPUBSP &#8211; Edição Especial PHPConf</title>
		<link>http://phpsp.org.br/2011/11/phpubsp-edicao-especial-phpconf/</link>
		<comments>http://phpsp.org.br/2011/11/phpubsp-edicao-especial-phpconf/#comments</comments>
		<pubDate>Mon, 21 Nov 2011 13:00:13 +0000</pubDate>
		<dc:creator>duodraco</dc:creator>
				<category><![CDATA[Eventos]]></category>
		<category><![CDATA[Notícias]]></category>
		<category><![CDATA[phpubsp]]></category>

		<guid isPermaLink="false">http://phpsp.org.br/?p=2384</guid>
		<description><![CDATA[Olá pessoal. Seguindo o calendário do nosso evento mensal, teremos o próximo PHPUBSP dia 29 de Novembro. Mesmo bat-horário (20h), mesmo bat-local(Tribeca Pub &#8211; Rua Ramos Batista, 378 &#8211; Vl Olimpia, SP) Desta vez teremos um palestrante de fora do estado, mais precisamente do Mato Grosso do Sul: Bruno &#8220;Porkaria&#8221; Fernandes[@porkaria]. Para quem não conhece [...]]]></description>
			<content:encoded><![CDATA[<p>Olá pessoal.</p>
<p>Seguindo o calendário do nosso evento mensal, teremos o próximo PHPUBSP dia 29 de Novembro. Mesmo bat-horário (20h), mesmo bat-local(<a title="Tribeca Pub" href="http://www.tribecapub.com.br" target="_blank">Tribeca Pub</a> &#8211; Rua Ramos Batista, 378 &#8211; Vl Olimpia, SP)</p>
<p>Desta vez teremos um palestrante de fora do estado, mais precisamente do Mato Grosso do Sul: Bruno &#8220;Porkaria&#8221; Fernandes[<a title="Twitter do Porkaria" href="http://twiter.com/porkaria">@porkaria</a>]. Para quem não conhece ele é membro do grupo PHPMS, CEO e Co-fundador da <a title="Blackdog Studio" href="http://studioblackdog.com/" target="_blank">Blackdog Studio</a>.</p>
<p>Como sempre teremos as atualizações do mundo PHP, as novidades do <a title="Sou PHPSP" href="http://sou.phpsp.org.br" target="_blank">Sou PHPSP</a>, muito bate-papo, descontração, boa cerveja e conteúdo de alto nível.</p>
<p>Para participar <del>preencha o formulário abaixo</del> visite a <a title="PHPUBSP no facebook" href="http://www.facebook.com/events/177049599055750/" target="_blank">página do evento no facebook</a> e confirme sua presença lá.</p>
]]></content:encoded>
			<wfw:commentRss>http://phpsp.org.br/2011/11/phpubsp-edicao-especial-phpconf/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PHPUBSP 2ª edição</title>
		<link>http://phpsp.org.br/2011/10/phpubsp-2a-edicao/</link>
		<comments>http://phpsp.org.br/2011/10/phpubsp-2a-edicao/#comments</comments>
		<pubDate>Mon, 17 Oct 2011 12:00:47 +0000</pubDate>
		<dc:creator>duodraco</dc:creator>
				<category><![CDATA[Eventos]]></category>
		<category><![CDATA[Notícias]]></category>
		<category><![CDATA[phpubsp]]></category>

		<guid isPermaLink="false">http://phpsp.org.br/?p=2195</guid>
		<description><![CDATA[Salve Galera! Demorei a dar notícias sobre nosso evento mensal mas aqui estão elas: a próxima edição do PHPUBSP já tem data marcada: 25 de Outubro, terça-feira. Mesmo bat-horário, mesmo bat-lugar: 20h no Tribeca Pub &#8211; Rua Ramos Batista, 378 – Vila Olimpia, Zona Sul de São Paulo. O Palestrante da vez é o Alexandre [...]]]></description>
			<content:encoded><![CDATA[<p>Salve Galera!</p>
<p>Demorei a dar notícias sobre nosso evento mensal mas aqui estão elas: a próxima edição do PHPUBSP já tem data marcada: 25 de Outubro, terça-feira. Mesmo bat-horário, mesmo bat-lugar: 20h no <a title="Tribeca Pub" href="http://www.tribecapub.com.br/" target="_blank">Tribeca Pub</a> &#8211; Rua Ramos Batista, 378 – Vila Olimpia, Zona Sul de São Paulo.</p>
<p>O Palestrante da vez é o Alexandre Gaigalas [<a title="Twitter do Alexandre Gaigalas" href="http://twitter,com/alganet" target="_blank">@alganet</a>] &#8211; desenvolvedor no Yahoo, colaborador em vários projetos opensource além de criador e responsável pelo projeto <a title="Respect Project" href="http://respect.github.com/" target="_blank">Respect</a>.</p>
<p>Assim como no primeiro evento não há taxa de inscrição e o espaço é reservado para o evento. Além disso a casa dá 20% de desconto, caso a consumação seja maior que R$40.</p>
<p><del>Quer participar? preencha o formulário abaixo &#8211; você receberá um email confirmando sua participação.</del></p>
<p>Em tempo: nossa pretensão é de que o evento ocorra sempre na ultima terça de todo mês &#8211; reserve esses dias ;)</p>
]]></content:encoded>
			<wfw:commentRss>http://phpsp.org.br/2011/10/phpubsp-2a-edicao/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>PHPSPCast #8: Frameworks &#8211; O que são e porque usar?</title>
		<link>http://phpsp.org.br/2011/09/phpspcast-8-frameworks/</link>
		<comments>http://phpsp.org.br/2011/09/phpspcast-8-frameworks/#comments</comments>
		<pubDate>Mon, 26 Sep 2011 14:33:51 +0000</pubDate>
		<dc:creator>Rafael Dohms</dc:creator>
				<category><![CDATA[PHPSPCast]]></category>
		<category><![CDATA[doctrine]]></category>
		<category><![CDATA[frameworks]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[zend framework]]></category>

		<guid isPermaLink="false">http://phpsp.org.br/?p=2138</guid>
		<description><![CDATA[A equipe do PHPSPCast finalmente consegue fugir de seu cativeiro e voltam para discutir um dos assuntos mais pedidos: Frameworks. O que são frameworks e qual o pale deles no seu trabalho dia dia a dia? Vamos conversar nesta edição sobre todos aspectos de um framework, vantagens e desvantagens. Assim abriremos espaço para discutir cada [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://phpsp.org.br/wp-content/uploads/2011/09/episodio-8.gif"><img class="alignright size-full wp-image-2139" title="PHPSPCast #8" src="http://phpsp.org.br/wp-content/uploads/2011/09/episodio-8.gif" alt="" width="300" height="300" /></a>A equipe do PHPSPCast finalmente consegue fugir de seu cativeiro e voltam para discutir um dos assuntos mais pedidos: Frameworks. O que são frameworks e qual o pale deles no seu trabalho dia dia a dia? Vamos conversar nesta edição sobre todos aspectos de um framework, vantagens e desvantagens. Assim abriremos espaço para discutir cada framework de forma independente em futuros podcasts.</p>
<p>Frameworks tem diferentes formatos e tamanhos, pra isso chamamos nosso amigo <a href="http://blog.bisna.com">Guilherme Blanco</a>, renomado desenvolvedor do Doctrine, um framework para ORM.</p>
<p><span id="more-2138"></span><strong>Links</strong></p>
<ul>
<li><a href="http://www.slideshare.net/augustopascutti/campus-party-frameworks-php">Palestra Augusto Pascutti Campus Party 2011</a></li>
<li><a href="http://www.slideshare.net/ccornutt/no-really-its-all-about-you">Palestra Chris Cornutt PHP|tek</a></li>
</ul>
<p><strong>Escute!</strong></p>
<p></p>
<h3><strong>Assine!</strong></h3>
<p>Assine o PHPSPCast: <strong><a onclick="javascript:pageTracker._trackPageview('/outbound/article/feeds2.feedburner.com');" 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>
]]></content:encoded>
			<wfw:commentRss>http://phpsp.org.br/2011/09/phpspcast-8-frameworks/feed/</wfw:commentRss>
		<slash:comments>19</slash:comments>
			<enclosure url="http://phpsp.org.br/wp-content/uploads/podcast/PHPSPCast-8.m4a" length="52613556" type="audio/x-m4a" />
		<itunes:duration>1:46:50</itunes:duration>
		<itunes:subtitle>A equipe do PHPSPCast finalmente consegue fugir de seu cativeiro e voltam para discutir um dos assuntos mais pedidos: Frameworks. O que são frameworks e qual o pale deles no seu trabalho dia dia a dia? Vamos conversar nesta edição sobre todos aspect[...]</itunes:subtitle>
		<itunes:summary>A equipe do PHPSPCast finalmente consegue fugir de seu cativeiro e voltam para discutir um dos assuntos mais pedidos: Frameworks. O que são frameworks e qual o pale deles no seu trabalho dia dia a dia? Vamos conversar nesta edição sobre todos aspectos de um framework, vantagens e desvantagens. Assim abriremos espaço para discutir cada framework de forma independente em futuros podcasts.
Frameworks tem diferentes formatos e tamanhos, pra isso chamamos nosso amigo Guilherme Blanco, renomado desenvolvedor do Doctrine, um framework para ORM.
Links

Palestra Augusto Pascutti Campus Party 2011
Palestra Chris Cornutt PHP&#124;tek

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.</itunes:summary>
		<itunes:keywords>PHPSPCast</itunes:keywords>
		<itunes:author>PHPSP.org.br</itunes:author>
		<itunes:explicit>no</itunes:explicit>
		<itunes:block>no</itunes:block>
	</item>
		<item>
		<title>PHPUBSP &#8211; Quando conhecimento e descontração se encontram</title>
		<link>http://phpsp.org.br/2011/09/phpubsp-quando-conhecimento-e-descontracao-se-encontram/</link>
		<comments>http://phpsp.org.br/2011/09/phpubsp-quando-conhecimento-e-descontracao-se-encontram/#comments</comments>
		<pubDate>Mon, 19 Sep 2011 12:35:36 +0000</pubDate>
		<dc:creator>duodraco</dc:creator>
				<category><![CDATA[Encontros]]></category>
		<category><![CDATA[Eventos]]></category>
		<category><![CDATA[Notícias]]></category>

		<guid isPermaLink="false">http://phpsp.org.br/?p=2094</guid>
		<description><![CDATA[Se você já foi a algum evento PHP, ou segue as pessoas da comunidade no twitter, com certeza já ouviu falar do PHPinga, talvez o evento com maior número de edições de toda a comunidade PHP brasileira. Se você não conhece, o PHPinga é a confraternização pós-evento ou encontro da comunidade, num barzinho qualquer para [...]]]></description>
			<content:encoded><![CDATA[<p>Se você já foi a algum evento PHP, ou segue as pessoas da comunidade no twitter, com certeza já ouviu falar do PHPinga, <del>talvez</del> o evento com maior número de edições de toda a comunidade PHP brasileira. Se você não conhece, o PHPinga é a confraternização pós-evento ou encontro da comunidade, num barzinho qualquer para bater papo, se divertir e reforçar o networking.</p>
<p style="text-align: center;"><a href="http://phpsp.org.br/wp-content/uploads/2011/09/phpubsp-final1.png"><img class="aligncenter size-full wp-image-2104" title="phpubsp-final" src="http://phpsp.org.br/wp-content/uploads/2011/09/phpubsp-final1.png" alt="" width="560" height="160" /></a></p>
<p>Desde sua criação há ~3 anos o PHPSP queria montar um evento recorrente, em um lugar agradável e descontraído, reunindo conhecimento, colaboração e diversão. Então resolvemos estender o conceito consagrado do PHPinga e realizando o PHPUBSP, um encontro em um pub como imaginávamos, com palestras, conteúdo e a reunião da comunidade.</p>
<p>Dado que é um evento para a comunidade PHP, em um Pub, o palestrante convidado não poderia ser outro senão o Guilherme Blanco, que dispensa apresentações quando se trata de PHP, cerveja ou balada.</p>
<p>Essa 1ª edição acontecerá no dia 27 de Setembro a partir das 20h, no <a title="Tribeca Pub" href="http://www.tribecapub.com.br/" target="_blank">Tribeca Pub</a>; este fica localizado Rua Ramos Batista, 378 &#8211; Vila Olimpia, Zona Sul de São Paulo.</p>
<p>Por que primeira edição? A cada (mais ou menos) 1 mês haverá uma nova edição, com pelo menos um palestrante convidado, as atualizações do mês do PHPSP e o bate papo e cerveja de sempre.</p>
<p><del>Quer participar? Preencha o formulário abaixo. As vagas são limitadas</del>. Vagas encerradas. Em breve anunciaremos a data do próximo PHPUBSP.</p>
]]></content:encoded>
			<wfw:commentRss>http://phpsp.org.br/2011/09/phpubsp-quando-conhecimento-e-descontracao-se-encontram/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Sou PHPSP e Contribuo!</title>
		<link>http://phpsp.org.br/2011/09/sou-phpsp-e-contribuo/</link>
		<comments>http://phpsp.org.br/2011/09/sou-phpsp-e-contribuo/#comments</comments>
		<pubDate>Fri, 02 Sep 2011 13:32:33 +0000</pubDate>
		<dc:creator>Rafael Dohms</dc:creator>
				<category><![CDATA[Desafio]]></category>
		<category><![CDATA[PHPSP]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[premios]]></category>
		<category><![CDATA[promocao]]></category>

		<guid isPermaLink="false">http://phpsp.org.br/?p=2048</guid>
		<description><![CDATA[O maior objetivo do PHPSP é contribuir com o PHP e sua comunidade, promovendo eventos e ações, mas também inspirando novas pessoas a contribuir com este ecosistema. Com esse pensamento queremos iniciar aqui um grande movimento de contribuição em comunidade para a comunidade. Queremos ver nossa comunidade cada vez mais ativa! Somando esforços com alguns [...]]]></description>
			<content:encoded><![CDATA[<p>O maior objetivo do PHPSP é contribuir com o PHP e sua comunidade, promovendo eventos e ações, mas também inspirando novas pessoas a contribuir com este ecosistema. Com esse pensamento queremos iniciar aqui um grande movimento de contribuição em comunidade para a comunidade. Queremos ver nossa comunidade cada vez mais ativa!</p>
<p>Somando esforços com alguns parceiros queremos realmente lhe incentivar a contribuir por meio da nova ação do PHPSP. &#8220;Sou PHPSP e Contribuo!&#8221; é um concurso que visa incentivar a colaboração dos membros da comunidade e premiar aqueles que se destacam quando o quesito é Colaborar!</p>
<h3>Como posso participar?</h3>
<p>Participar é simples, basta contribuir! Como? Enviando um patch para um projeto Open Source, corrigindo um bug, traduzindo ou contribuindo para a documentação, criando novos testes, criando uma nova feature, enfim, qualquer contribuição é válida. Para orientar quem ainda não sabe com que projeto contribuir, reunimos uma lista de <a href="http://sou.phpsp.org.br/souphpsp/about/projects">projetos parceiros</a>, são projetos que estão prontos para receber novos contribuidores e ajudar eles a contribuir.</p>
<p>A cada &#8220;ação&#8221; realizada você ganhará um ticket que será usado para a premiação.</p>
<h3>Como ganhar tickets?</h3>
<p>Para facilitar o desafio criamos um <a href="http://sou.phpsp.org.br/souphpsp">sistema de apoio</a>, onde você poderá <a href="http://sou.phpsp.org.br/souphpsp/contribution/">cadastrar participações</a> e também acompanhar as atividades. Assim que completar uma participação válida (patch aceito, commit merged&#8230;) você poderá acessar nosso sistema de <a href="http://sou.phpsp.org.br/souphpsp/contribution/">cadastro</a>, descrever o que fez e fornecer um link para validação, pode ser o link do commit, do email na lista aceitando o patch, enfim, qualquer coisa que comprove que sua contribuição foi feita e aceita. Com estes dados em mãos faremos a validação e lhe mandaremos um ticket virtual.</p>
<h3><span class="Apple-style-span" style="font-size: 13px; font-weight: normal;"><strong>Quais são os prêmios?</strong></span></h3>
<p>Já temos diversos parceiros apoiando esta ação, como a Microsoft, ServerGrove, php|architect e o Buscapé. Este parceiros nos ajudaram a oferecer diversos prêmios que podem ser vistos <a href="http://sou.phpsp.org.br/souphpsp">aqui</a>. São consoles Xbox, iPads, livros e assinaturas, hospedagem e muito mais. Mas não é só isso, novos prêmios serão adicionados ao longo da promoção.</p>
<h3>Quer saber mais?</h3>
<p>Para saber mais sobre as regras e quem pode participar, visite o <a href="http://sou.phpsp.org.br/souphpsp/about">regulamento</a> do desafio.</p>
<p><strong>Boa sorte e continue contribuindo!</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://phpsp.org.br/2011/09/sou-phpsp-e-contribuo/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>Desinformação na midia: PHP rotulado de vírus</title>
		<link>http://phpsp.org.br/2011/07/desinformacao-na-midia-php-rotulado-de-virus/</link>
		<comments>http://phpsp.org.br/2011/07/desinformacao-na-midia-php-rotulado-de-virus/#comments</comments>
		<pubDate>Fri, 29 Jul 2011 20:12:47 +0000</pubDate>
		<dc:creator>Rafael Dohms</dc:creator>
				<category><![CDATA[Artigos]]></category>
		<category><![CDATA[Comunidade]]></category>
		<category><![CDATA[erros da midia]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[segurança]]></category>

		<guid isPermaLink="false">http://phpsp.org.br/?p=1979</guid>
		<description><![CDATA[Jornal Hoje exibiu hoje uma matéria que rotula urls terminadas em .php como virus.  a reação da comunidade foi imediata, posts e manifestações surgiram logo em seguida e a hastag #phpvirus foi rapidamente colocada no Trending Topics do Twitter. Veja a história completa neste post e a matéria que causou toda reação aqui. O que você [...]]]></description>
			<content:encoded><![CDATA[<p>Jornal Hoje exibiu hoje uma matéria que rotula urls terminadas em .php como virus.  a reação da comunidade foi imediata, posts e manifestações surgiram logo em seguida e a hastag #phpvirus foi rapidamente colocada no Trending Topics do Twitter.</p>
<p>Veja a história completa neste <a href="http://blog.rafaeldohms.com.br/2011/07/29/desinformacao-na-midia-php-rotulado-como-virus/?lang=pt-br">post</a> e a matéria que causou toda reação <a href="http://g1.globo.com/jornal-hoje/noticia/2011/07/saiba-como-nao-cair-na-armadilha-de-mensagens-eletronicas-falsas.html">aqui</a>.</p>
<p><strong>O que você pode fazer?</strong></p>
<p>Entre neste <a href="http://www.peticaopublica.com.br/?pi=PHPJHOJE">abaixo assinado</a> que exige uma retratação da Rede Globo e deixe seu nome. Vamos unir a comunidade PHP e evitar esta desinformação e mancha do nosso trabalho.</p>
<div></div>
]]></content:encoded>
			<wfw:commentRss>http://phpsp.org.br/2011/07/desinformacao-na-midia-php-rotulado-de-virus/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Review: The Developers Conference 2011</title>
		<link>http://phpsp.org.br/2011/07/review-the-developers-conference-2011/</link>
		<comments>http://phpsp.org.br/2011/07/review-the-developers-conference-2011/#comments</comments>
		<pubDate>Tue, 12 Jul 2011 19:56:36 +0000</pubDate>
		<dc:creator>Augusto Pascutti</dc:creator>
				<category><![CDATA[Conference]]></category>
		<category><![CDATA[Eventos]]></category>
		<category><![CDATA[Palestras e Seminários]]></category>

		<guid isPermaLink="false">http://phpsp.org.br/?p=1919</guid>
		<description><![CDATA[Semana passada ocorreu o The Developers Conference 2011 aqui em São Paulo, e desta vez tivemos uma trilha de PHP com 13 palestras. O saldo, como sempre, foi muito positivo. O evento foi muito bem organizado, as salas muito bem preparadas e os participantes muito ativos nas palestras. A você que não foi, fica a [...]]]></description>
			<content:encoded><![CDATA[<p>Semana passada ocorreu o <a title="The Developers Conference" href="http://www.thedevelopersconference.com.br/#geral" target="_blank">The Developers Conference 2011</a> aqui em São Paulo, e desta vez tivemos uma trilha de PHP com 13 palestras. O saldo, como sempre, foi muito positivo. O evento foi muito bem organizado, as salas muito bem preparadas e os participantes muito ativos nas palestras.</p>
<p>A você que não foi, fica a dica de participar no próximo ano! A você que foi, além de agradecermos e esperar que tenham gostado e aproveitado tanto quanto nós, gostaríamos de pedir mais uma coisa: avalie as palestras que você viu no evento. Essa avaliação é importante a todos os palestrantes, para trazerem a vocês um conteúdo cada vez melhor e de uma forma mais bacana.</p>
<p>A quem não foi, resta ver os slides das palestras e aproveitar um pouco do conteúdo que foi apresentado. Se você já tem um cadastro no <a title="JoinD: Trilha de PHP na PHP Developers Conference" href="http://joind.in/event/view/765" target="_blank">Joind.in</a> fica fácil, se você ainda não tem, se cadastre e deixe seu comentário no evento e/ou nas palestras no link do <a title="JoinD: Trilha de PHP na The Developers Conference" href="http://joind.in/event/view/765" target="_blank">Joind.in</a>.</p>
<p>E não se esqueça: Conhecimento é saber que tomate é uma fruta. Sabedoria é não colocá-lo numa salada de frutas.</p>
<p>Nossos sinceros agradecimentos a todos que foram e participaram e a <a title="GlobalCode" href="http://www.globalcode.com.br/" target="_blank">GlobalCode</a> por ter inserido a trilha de PHP no evento esse ano!</p>
]]></content:encoded>
			<wfw:commentRss>http://phpsp.org.br/2011/07/review-the-developers-conference-2011/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MongoSP &#8211; Primeiro evento de MongoDB da América Latina</title>
		<link>http://phpsp.org.br/2011/07/mongosp-primeiro-evento-de-mongodb-da-america-latina/</link>
		<comments>http://phpsp.org.br/2011/07/mongosp-primeiro-evento-de-mongodb-da-america-latina/#comments</comments>
		<pubDate>Thu, 07 Jul 2011 17:25:48 +0000</pubDate>
		<dc:creator>Rafael Dohms</dc:creator>
				<category><![CDATA[Eventos]]></category>
		<category><![CDATA[mongodb]]></category>
		<category><![CDATA[mongosp]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://phpsp.org.br/?p=1889</guid>
		<description><![CDATA[Esta perto de acontecer o primeiro grande evento de MongoDB da América Latina. Ele acontece no dia 22 de Julho e será um dia inteiro dedicado ao banco de dados MongoDB. A conferência trará apresentações dos engenheiros de desenvolvimento do MongoDB, bem como dos colaboradores da comunidade. Além disso, aprenda como empresas como a Globo.com, Gonow [...]]]></description>
			<content:encoded><![CDATA[<p>Esta perto de acontecer o primeiro grande evento de MongoDB da América Latina.</p>
<p>Ele acontece no dia 22 de Julho e será um dia inteiro dedicado ao banco de dados MongoDB. A conferência trará apresentações dos engenheiros de desenvolvimento do MongoDB, bem como dos colaboradores da comunidade. Além disso, aprenda como empresas como a Globo.com, Gonow e Apontador estão usando o MongoDB em implementações reais.</p>
<p>Acompanhe também a palestra de nosso colega César Rodas, conhecido de longa data da comunidade PHP brasileira e latina.</p>
<p>A agenda completa e informações de registro estão disponíveis no link <a href="http://www.mongosp.com/" target="_blank">www.mongosp.com</a></p>
]]></content:encoded>
			<wfw:commentRss>http://phpsp.org.br/2011/07/mongosp-primeiro-evento-de-mongodb-da-america-latina/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Protegendo seu sistema contra ataques CSRF</title>
		<link>http://phpsp.org.br/2011/07/protegendo-seu-sistema-contra-ataques-csrf/</link>
		<comments>http://phpsp.org.br/2011/07/protegendo-seu-sistema-contra-ataques-csrf/#comments</comments>
		<pubDate>Thu, 07 Jul 2011 13:16:05 +0000</pubDate>
		<dc:creator>Kinn Coelho Julião</dc:creator>
				<category><![CDATA[Artigos]]></category>
		<category><![CDATA[Artigos de Convidados]]></category>
		<category><![CDATA[Comunidade]]></category>
		<category><![CDATA[CSRF]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[segurança]]></category>

		<guid isPermaLink="false">http://phpsp.org.br/?p=1833</guid>
		<description><![CDATA[Ataques CSRF ocorrem em várias aplicações web, eu gostaria de apresentar uma solução para este problema neste artigo, mas antes de mais nada aproveito para me apresentar, sou Kinn Coelho Juliao O que são ataques CSRF? CSRF é um ataque que força um usuário final à executar ações indesejadas em uma aplicação web em que ele(a) [...]]]></description>
			<content:encoded><![CDATA[<p>Ataques CSRF ocorrem em várias aplicações web, eu gostaria de apresentar uma solução para este problema neste artigo, mas antes de mais nada aproveito para me apresentar, sou <a href="http://www.linkedin.com/in/kinncj">Kinn Coelho Juliao</a></p>
<h2><strong>O que são ataques CSRF?</strong></h2>
<p><strong></strong>CSRF é um ataque que força um usuário final à executar ações indesejadas em uma aplicação web em que ele(a) está autenticado no momento. Com uma pequena ajuda da engenharia social (como enviar um link por e-mail ou chat), um atacante pode forçar os usuários de uma aplicação web para executar ações de escolha do atacante. Um CSRF  bem sucedido, pode comprometer os dados e funcionamento do usuário final caso o mesmo seja um usuário comum ao sistema. Se o usuário final for administrador, isso pode comprometer a aplicação Web inteira.<br />
<strong></strong></p>
<h2><strong>Exemplos de ataques</strong></h2>
<p><strong></strong>Como funciona o ataque? Há inúmeras maneiras em que um usuário final pode ser levado a carga de informações ou enviar informação para uma aplicação web. A fim de executar um ataque, devemos primeiro entender como gerar um pedido malicioso para a nossa vítima executar.</p>
<p>Vejamos o seguinte exemplo: Alice deseja transferir R$ 100,00 a João usando banco.com.br.  O pedido gerado por Alice será semelhante ao seguinte:</p>
<pre class="brush: plain; title: ; notranslate">
POST http://banco.com.br/transfer.do
HTTP/1.1.........Content-Length: 19;
acct=JOAO&amp;amount=100
</pre>
<p>No entanto, percebe que Maria da mesma aplicação web irá executar a mesma transferência usando parâmetros de URL da seguinte forma:</p>
<pre class="brush: plain; title: ; notranslate">
GET http://banco.com.br/transfer.do?acct=JOAO&amp;amount=100
HTTP/1.1
</pre>
<p>Maria decide agora para explorar esta vulnerabilidade de aplicações web usando Alice como sua vítima. Maria primeiro constrói a seguinte URL, que vai transferir R$ 100.000,00 da conta de Alice à sua conta:</p>
<pre class="brush: plain; title: ; notranslate">http://banco.com.br/transfer.do?acct=MARIA&amp;amount=100000</pre>
<p>Agora que seu pedido mal-intencionado é gerado, Maria  tem truque para apresentar o pedido. O método mais básico é o de enviar um e-mail HTML para Alice contendo o seguinte:</p>
<pre class="brush: xml; title: ; notranslate">
&lt;a href=&quot;http://banco.com.br/transfer.do?acct=MARIA&amp;amount=100000&quot;&gt;
Veja minhas fotos do Orkut!
&lt;/a&gt;
</pre>
<p>Supondo que Alice esta autenticada com a aplicação, quando ela clica no link, a transferência de R$ 100.000 para a conta de Maria irá ocorrer.</p>
<p>No entanto, Maria percebe que se Alice clica no link, em seguida, Alice vai notar que a transferência ocorreu.</p>
<p>Por isso, Maria decide esconder o ataque em uma imagem de zero bytes:</p>
<pre class="brush: xml; title: ; notranslate">&lt;/pre&gt;
&lt;img src=&quot;http://banco.com.br/transfer.do?acct=MARIA&amp;amount=100000&quot; alt=&quot;&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; /&gt;
&lt;pre&gt;</pre>
<p>Se essa tag de imagem for incluída no e-mail, Alice só vê uma pequena caixa que indica que o navegador não pode processar a imagem. No entanto, o navegador continua a enviar a solicitação para banco.com.br sem qualquer indicação visual de que atransferência tenha ocorrido.</p>
<p>Este exemplo, pode ocorrer em qualquer aplicação que não possua tratamento no controle de formulários e/ou outros meios de entrada de dados.</p>
<p>Podemos ver um exemplo de como prevenir isto em outro exemplo abaixo:<br />
<strong></strong></p>
<h2><strong>O que fazer?</strong></h2>
<p><strong></strong>Ações em sites estão sempre associados com formulários &#8211; login, transferência de fundos ou postar um comentário no blog. Nossa solução para o problema de CSRF é gerar uma chave única quando o usuário visita a página com o formulário-lo. Vamos definir esta chave na $_SESSION, bem como um campo hidden no formulário. Quando o formulário for enviado, vamos verificar a chave armazenada na sessão e a chave enviada pelo formulário. Se eles são os mesmos então nós sabemos que o usuário submeteu nosso formulário. Se eles não são iguais (ou a $_SESSION está vazia), então sabemos que algo nocivo está acontecendo e nós podemos seguramente redirecionar o usuário (e não tomar nenhuma ação).</p>
<pre class="brush: php; title: ; notranslate">
session_start ();

 // Se o formulário foi enviado ..
 if (isset ($_POST['submit']))
 {  // Verificar os marcadores
     if ($_SESSION[&quot;csrfToken '] == $_POST[' csrfToken '])
     {
         echo &quot;form do bem&quot;;
     }   else   {
         echo &quot;Ops, solicitação não permitida&quot;; exit;
     }
 }   else  { // Gerar o token

     $Token = md5 (uniqid (rand (), true));

     // Definir o token como uma sessão
     $_SESSION['CsrfToken'] = $ token;

     // O nosso formulário com o campo oculto
     $ Form = '&lt;/pre&gt;
&lt;form action=&quot;&quot; method=&quot;POST&quot;&gt;  Conta: &lt;input type=&quot;text&quot; name=&quot;account&quot; /&gt;
   Valor: &lt;input type=&quot;text&quot; name=&quot;amount&quot; /&gt;
   &lt;input type=&quot;hidden&quot; name=&quot;csrfToken&quot; value=&quot;'.$token.'&quot; /&gt;   &lt;input type=&quot;submit&quot; name=&quot;submit&quot; value=&quot;Enviar Bufunfa&quot; /&gt; &lt;/form&gt;
&lt;pre&gt;
 ';

     echo $form;
 }
</pre>
<p>Podemos acrescentar um nível adicional de segurança, certificando-se o usuário veio a partir da página que contém o formulário.</p>
<pre class="brush: php; title: ; notranslate">
// Antes da verificação CSRF
if (! $_SERVER['HTTP_REFERER'] == 'http://banco.com.br/formulario/transferencia/enviar.php)
{
    echo &quot;Solicitação mal formada&quot;;  exit;
}
</pre>
<p>Obrigado pela atenção espero ter ajudado.</p>
]]></content:encoded>
			<wfw:commentRss>http://phpsp.org.br/2011/07/protegendo-seu-sistema-contra-ataques-csrf/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>PHP Conference Brasil 2011: Aberta a chamada de trabalhos</title>
		<link>http://phpsp.org.br/2011/06/php-conference-brasil-2011-aberta-a-chamada-de-trabalhos/</link>
		<comments>http://phpsp.org.br/2011/06/php-conference-brasil-2011-aberta-a-chamada-de-trabalhos/#comments</comments>
		<pubDate>Sat, 25 Jun 2011 22:48:49 +0000</pubDate>
		<dc:creator>Rafael Dohms</dc:creator>
				<category><![CDATA[Notícias]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[phpconfbr]]></category>
		<category><![CDATA[phpconfbr2011]]></category>

		<guid isPermaLink="false">http://phpsp.org.br/?p=1871</guid>
		<description><![CDATA[Esta aberta a Chamada de Trabalhos para a PHP Conference Brasil 2011, se você tem algum assunto interessante para compartlhar esta é sua oportunidade de palestra no maior evento de PHP da America Latina. Então aproveite, conheca os benefícios e mande sua proposta por aqui: http://phpconf.com.br/cfp]]></description>
			<content:encoded><![CDATA[<p>Esta aberta a Chamada de Trabalhos para a PHP Conference Brasil 2011, se você tem algum assunto interessante para compartlhar esta é sua oportunidade de palestra no maior evento de PHP da America Latina.</p>
<p>Então aproveite, conheca os benefícios e mande sua proposta por aqui: <a href="http://phpconf.com.br/cfp">http://phpconf.com.br/cfp</a></p>
]]></content:encoded>
			<wfw:commentRss>http://phpsp.org.br/2011/06/php-conference-brasil-2011-aberta-a-chamada-de-trabalhos/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Parabéns a Comunidade</title>
		<link>http://phpsp.org.br/2011/03/parabens-a-comunidade/</link>
		<comments>http://phpsp.org.br/2011/03/parabens-a-comunidade/#comments</comments>
		<pubDate>Tue, 22 Mar 2011 12:52:06 +0000</pubDate>
		<dc:creator>Fernando Camacho</dc:creator>
				<category><![CDATA[Comunidade]]></category>

		<guid isPermaLink="false">http://phpsp.org.br/?p=1515</guid>
		<description><![CDATA[Não quero aqui começar uma polêmica de qual linguagem é melhor, só deixar um relato e parabenizar a comunidade PHP. Trabalho com programação PHP a mais de 5 anos, comecei graças a comunidade PHP que é muito ativa, pois quando comecei a desenvolver, tive muita ajuda. Faço trabalhos para agências que por muitas vezes estão [...]]]></description>
			<content:encoded><![CDATA[<p>Não quero aqui começar uma polêmica de qual linguagem é melhor, só deixar um relato e parabenizar a comunidade PHP. Trabalho com programação PHP a mais de 5 anos, comecei graças a comunidade PHP que é muito ativa, pois quando comecei a desenvolver, tive muita ajuda.</p>
<p>Faço trabalhos para agências que por muitas vezes estão com seu departamento Web sobrecarregado ou simplesmente não tem, esta semana um cliente me procurou dizendo que tem um cliente que tem um cliente que está desenvolvendo um e-commerce para sua fábrica, porém só ficará pronto daqui a 5 meses, já achei estranho levar 5 meses para desenvolver um e-commerce, porém pensei comigo deve ser um grande portal.</p>
<p>Até ai tudo bem, mas até o início do portal o cliente precisa de um formulário para divulgar as suas revendas, ou seja um cadastro simples com nome, endereço e logotipo. Pensei comigo fácil meia duzia de linhas em PHP e tudo está pronto, disse ao meu cliente que se ele me entregasse o layout em 1 dia eu entregava a programação. Porém, o meu cliente me informou que tudo deveria ser desenvolvido em ASP.</p>
<p>Mas uma vez pensei e refleti, se em PHP com meia duzia de linhas eu consigo em ASP também não deve ser tão difícil, fui ao nosso banco de dados de informções (Google) hehehe, primeira pesquisa ASP upload de imagens, e por ai comecei minha pesquisa.</p>
<p>Entra num site, entra em outro, baixa um script, baixa outro, testa um, testa outro e nada. Vou ver como funciona, pesquisei novamente então já que os scripts não funcionavam e ninguém respondia, vou tentar descobrir como o ASP trata os POST&#8217;s de imagens e grava e o arquivo. Surpresa, nada funciona, sempre é necessário um componente. Testa aqui, testa ali e nada.</p>
<p>Só me restou a opção e cheguei a conclusão de que, realmente a Comunidade PHP está de parabéns, afinal é uma comunidade ativa onde sempre nos ajudamos, e por mais &#8220;porca&#8221; que seja a linguagem como tive que ouvir por diversas vezes, somos uma comunidade livre, sem depender de ninguém e que nos ajudamos mutuamente.</p>
<p>E por isto continuo dizendo PHP não é só uma linguagem é uma comunidade ativa.</p>
<p>Parabéns PHP, programadores PHP e comunidade ativa.</p>
<p>Só para terminar, não vou pegar o serviço, porque para pegar um script que não faço a mínima idéia de como funciona ou se vai continuar funcionando daqui a 5 meses, prefiro não fazer.﻿</p>
]]></content:encoded>
			<wfw:commentRss>http://phpsp.org.br/2011/03/parabens-a-comunidade/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Curso Gratuito: Segurança no PHP</title>
		<link>http://phpsp.org.br/2011/03/curso-gratuito-seguranca-no-php/</link>
		<comments>http://phpsp.org.br/2011/03/curso-gratuito-seguranca-no-php/#comments</comments>
		<pubDate>Mon, 21 Mar 2011 17:44:22 +0000</pubDate>
		<dc:creator>Rafael Dohms</dc:creator>
				<category><![CDATA[Notícias]]></category>

		<guid isPermaLink="false">http://phpsp.org.br/?p=1727</guid>
		<description><![CDATA[Mais uma vez a Season oferece mini-cursos gratuito de PHP, desta vez o assunto é segurança: Segurança em PHP Tipo: Minicurso Gratuito Início: 30.03.2011 Duração: 3 horas / 1 aulas Período: Qua &#8211; Noite Horário: das 19hs às 22hs Local: Sala 22 Av. Bernardino de Campos, 327 &#8211; Paraíso São Paulo/SP Para se cadastrar e [...]]]></description>
			<content:encoded><![CDATA[<div>
<p>Mais uma vez a Season oferece mini-cursos gratuito de PHP, desta vez o assunto é segurança:</p>
<blockquote>
<div id="_mcePaste"><strong>Segurança em PHP</strong></div>
<div id="_mcePaste">Tipo: Minicurso Gratuito</div>
<div id="_mcePaste">Início: 30.03.2011</div>
<div id="_mcePaste">Duração: 3 horas / 1 aulas</div>
<div id="_mcePaste">Período: Qua &#8211; Noite</div>
<div id="_mcePaste">Horário: das 19hs às 22hs</div>
<div id="_mcePaste">Local:</div>
<div id="_mcePaste">Sala 22</div>
<div id="_mcePaste">Av. Bernardino de Campos, 327 &#8211; Paraíso</div>
<div id="_mcePaste">São Paulo/SP</div>
</blockquote>
<p>Para se cadastrar e ter mais informações visite o site da Seasons: <strong><a href="http://www.season.com.br/cms/treinamentos/calendario/detalhe/evento/96/">Segurança em PHP</a></strong></p>
</div>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://phpsp.org.br/2011/03/curso-gratuito-seguranca-no-php/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Autenticação e Criptografia de Senhas</title>
		<link>http://phpsp.org.br/2011/01/autenticacao-e-criptografia-de-senhas/</link>
		<comments>http://phpsp.org.br/2011/01/autenticacao-e-criptografia-de-senhas/#comments</comments>
		<pubDate>Wed, 26 Jan 2011 18:47:02 +0000</pubDate>
		<dc:creator>Rubens Takiguti Ribeiro</dc:creator>
				<category><![CDATA[Artigos de Convidados]]></category>
		<category><![CDATA[Des-sobrinhação]]></category>
		<category><![CDATA[autenticação]]></category>
		<category><![CDATA[criptografia]]></category>
		<category><![CDATA[security]]></category>

		<guid isPermaLink="false">http://phpsp.org.br/?p=1676</guid>
		<description><![CDATA[Este artigo apresenta algumas formas de criptografia de senhas em sistemas de informação baseados em PHP.]]></description>
			<content:encoded><![CDATA[<p>É comum que sistemas de informações utilizem um mecanismo de  autenticação para acesso às ferramentas restritas através de um login e  senha. Por questões de confidencialidade e segurança, é comum, também,  que as senhas fiquem guardadas de forma criptografada no banco de dados.  Os algoritmos de criptografia usados para estes casos são aqueles de  via única (unidirecional), ou seja, que não permitem que um valor  codificado seja descriptografado facilmente. O nome dado a um valor  criptografado também é chamado de &#8220;hash&#8221;.</p>
<p>PHP oferece diferentes alternativas para criptografar uma senha. Cada  uma delas pode ter suas peculiaridades na hora de se montar o mecanismo  de autenticação. Vejamos algumas das principais funções usadas para  criptografia de senhas:</p>
<ul>
<li><tt><a href="#funcao_md5">md5</a></tt> &#8211; Gera uma sequência binária de 16 bytes (ou 32 símbolos hexadecimais)</li>
<li><tt><a href="#funcao_sha1">sha1</a></tt> &#8211; Gera uma sequência binária de 20 bytes (ou 40 símbolos hexadecimais)</li>
<li><tt><a href="#funcao_crypt">crypt</a></tt> &#8211; Gera um hash de acordo com um algum algoritmo escolhido (poucas opções)</li>
<li><tt><a href="#modulo_hash">hash</a></tt> &#8211; Módulo que oferece diferentes algoritmos de criptografia (para saber os disponíveis, basta usar <tt>hash_algos</tt>)</li>
<li><tt><a href="#modulo_mcrypt">mcrypt</a></tt> &#8211; Módulo que oferece diferentes algoritmos de codificação/decodificação (para saber os disponíveis, basta usar <tt>mcrypt_list_algorithms</tt>)</li>
<li><tt><a href="#modulo_mhash">mhash</a></tt> &#8211; Módulo obsoleto por <tt>hash</tt>.</li>
</ul>
<hr />
<div>
<h3 id="funcao_md5">MD5</h3>
<p>Esta função é nativa do PHP e gera uma sequência binária de 16 bytes  ou 32 símbolos hexadecimais. O uso é simples, basta passar o texto a ser  codificado e se deseja obter o retorno na forma binária. Por padrão é  retornado uma sequência hexadecimal, que é mais conveniente de se  guardar em um banco de dados.</p>
<pre>$hash_hex = md5('teste'); // Gera 698dc19d489c4e4db73e28a713eab07b
$hash_bin = md5('teste', true); // Gera 16 bytes (inclusive não imprimíveis)</pre>
<p>Para testar se uma senha digitada é igual à senha criptografada no  BD, basta criptografar a senha informada e comparar as duas  criptografadas. Afinal, uma sequência sempre gera o mesmo resultado  criptografado.</p>
<pre>$senha_codificada_bd = $dados_bd['senha']; // exemplo de senha obtida do BD
$senha_codificada_informada = md5($_POST['senha']);

if ($senha_codificada_bd == $senha_codificada_informada) {
    // As senhas sao compativeis
}</pre>
<p>Observação: Como o hash gerado por MD5 tem tamanho fixo, é óbvio que  existem infinitas sequências textuais que produzem o mesmo hash. Porém,  isso não é tão crítico, pois encontrar duas sequências que geram o mesmo  hash é algo bastante incomum, especialmente entre senhas que envolvem  apenas caracteres imprimíveis.</p>
</div>
<hr />
<div>
<h3 id="funcao_sha1">SHA1</h3>
<p>Esta função é semelhante à MD5 (mesmos parâmetros), porém, o  algoritmo gera uma sequência binária de 20 bytes ou 40 símbolos  hexadecimais. Por padrão é retornado uma sequência hexadecimal.</p>
<pre>$hash_hex = sha1('teste'); // Gera 2e6f9b0d5885b6010f9167787445617f553a735f
$hash_bin = sha1('teste', true); // Gera 20 bytes (inclusive não imprimíveis)</pre>
<p>Para testar se uma senha digitada é igual à senha criptografada no BD, basta seguir a mesma ideia apresentada em MD5.</p>
</div>
<hr />
<div>
<h3 id="funcao_crypt">Crypt</h3>
<p>A função <tt>crypt</tt> também é nativa do PHP, mas, diferente de <tt>md5</tt> e <tt>sha1</tt>,  é genérica, pois pode-se especificar qual algoritmo a ser usado. A  função recebe uma string a ser codificada e, opcionalmente, um sal. O  &#8220;sal&#8221; é uma sequência aleatória usada como base para codificar outra  sequência. A ideia é que utilizando o mesmo sal para codificar o mesmo  texto, obtenha-se o mesmo valor. Mas usando um sal diferente para  codificar o mesmo texto, pode-se obter resultados diferentes.</p>
<p>A função crypt varia o seu funcionamento de acordo com o sal informado:</p>
<ul>
<li>CRYPT_STD_DES &#8211; Sal de 2 caracteres alfa-numéricos;</li>
<li>CRYPT_EXT_DES &#8211; Sal de 9 caracteres, sendo: 1 underscore + 4 bytes  (indicando o número de iterações) + 4 bytes alfa-numéricos (sal  propriamente dito)</li>
<li>CRYPT_MD5 &#8211; Sal de 12 caracteres, sendo: iniciado em &#8220;$1$&#8221; + 8 bytes (sal) + final &#8220;$&#8221;</li>
<li>CRYPT_BLOWFISH &#8211; Sal iniciado em &#8220;$2a$&#8221; + 2 dígitos (custo) +  símbolo &#8220;$&#8221; + 21 bytes alfa-numéricos ou &#8220;.&#8221; ou &#8220;/&#8221; (sal) + final &#8220;$&#8221;</li>
<li>CRYPT_SHA256 &#8211; Sal de 16 caracteres, sendo: iniciado em &#8220;$5$&#8221; + 12 bytes (sal) + final &#8220;$&#8221;</li>
<li>CRYPT_SHA512 &#8211; Sal de 20 caracteres, sendo: iniciado em &#8220;$6$&#8221; + 16 bytes (sal) + final &#8220;$&#8221;</li>
</ul>
<p>Exemplo de uso:</p>
<pre>$hash_md5 = crypt('teste', '$1$abcdefgh$');
// Gera $1$abcdefgh$DYdsp/CvdHfTi6XSCsPdg.</pre>
<p>Observe que o valor codificado também tem como prefixo o próprio sal.  Caso este valor codificado é usado como sal da função novamente, ela  recupera apenas o sal, ignorando o valor codificado:</p>
<pre>$hash_md5 = crypt('teste', '$1$abcdefgh$DYdsp/CvdHfTi6XSCsPdg.');
// Tambem gera $1$abcdefgh$DYdsp/CvdHfTi6XSCsPdg.</pre>
<p>Portanto, para checar se uma senha codificada no BD é (provavelmente) a mesma que uma informada pelo usuário, basta fazer:</p>
<pre>$senha_codificada_bd = $dados_bd['senha']; // exemplo de senha obtida do BD
$senha_codificada_informada = crypt($_POST['senha'], $senha_codificada_bd);

if ($senha_codificada_bd == $senha_codificada_informada) {
    // As senhas sao compativeis
}</pre>
<p>Observação: em algumas versões antigas do PHP, esta função dependia  dos recursos do sistema operacional. A partir da versão 5.3.0, o próprio  PHP possui sua própria implementação destes recursos e não depende do  sistema.</p>
</div>
<hr />
<div>
<h3 id="modulo_hash">Hash</h3>
<p>O módulo <tt>hash</tt> era um módulo pecl, mas passou a fazer parte  do PHP na versão 5.1.2. Ele também é genérico, pois pode-se informar  qual o algoritmo de codificação a ser usado. Para saber os algoritmos  suportados, basta usar a função <tt>hash_algos</tt>, que devolve um vetor com os nomes dos algoritmos. Para usar a função <tt>hash</tt>,  basta passar no primeiro parâmetro o nome do algoritmo a ser usado, no  segundo o valor a ser codificado, e no terceiro o tipo de saída (binário  ou hexadecimal).</p>
<p>Exemplo:</p>
<pre>$hash_md5 = hash('md5', 'teste', false); // Gera 698dc19d489c4e4db73e28a713eab07b
$hash_md5 = hash('md5', 'teste', true); // Gera 16 bytes (inclusive não imprimíveis)</pre>
<p>A vantagem deste módulo em relação aos demais é que o algoritmo é  informado por parâmetro, logo, pode ser informado dinamicamente, com o  valor armazenado em algum lugar.</p>
<p>Além de <tt>hash</tt>, existem outras funções no módulo, como a função <tt>hash_hmac</tt>, que recebe também uma chave de codificação (como um sal), e utiliza o algoritmo HMAC.</p>
<p>Exemplo:</p>
<pre>$hash_md5 = hash_hmac('md5', 'teste', 'chave', false); // Gera d1c9c8e42bb681e024dd07ae91aeeb4a</pre>
<p>Note que, diferente de <tt>crypt</tt>, a função <tt>hash_hmac</tt> não embute a chave (sal) no valor codificado, logo, ele não pode ser usado como parâmetro.</p>
</div>
<hr />
<div>
<h3 id="modulo_mcrypt">Mcrypt</h3>
<p>O módulo <tt>mcrypt</tt> suporta vários mecanismos de codificação/decodificação. As principais funções são a <tt>mcrypt_generic</tt> e a <tt>mdcrypt_generic</tt>,  que recebem um resource com o mecanismo de codificação/decodificação e o  valor a ser codificado/decodificado. O resource é criado pela função <tt>mcrypt_module_open</tt> e manipulado por outras funções.</p>
<p>Um exemplo de uso pode ser visto no link: <a href="http://php.net/manual/en/function.mcrypt-module-open.php">http://br2.php.net/manual/en/function.mcrypt-module-open.php</a></p>
</div>
<hr />
<div>
<h3 id="modulo_mhash">Mhash</h3>
<p>Este módulo está obsoleto pelo módulo <tt>hash</tt>. No PHP 5.3.0, as funções deste módulo são emuladas pelas funções do módulo <tt>hash</tt>. É melhor usar o módulo <tt>hash</tt> diretamente.</p>
<p>A principal função do módulo é <tt>mhash</tt>, que recebe o  algoritmo, o valor a ser codificado e a chave HMAC (caso deseja-se  utilizar o algoritmo HMAC). O valor retornado é hexadecimal.</p>
<p>Exemplo:</p>
<pre>$hash_md5 = mhash(MHASH_MD5, 'teste'); // Gera 698dc19d489c4e4db73e28a713eab07b
$hash_md5_hmac = mhash(MHASH_MD5, 'teste', 'chave'); // Gera d1c9c8e42bb681e024dd07ae91aeeb4a</pre>
</div>
]]></content:encoded>
			<wfw:commentRss>http://phpsp.org.br/2011/01/autenticacao-e-criptografia-de-senhas/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>Curso gratuito: Introdução ao PHP</title>
		<link>http://phpsp.org.br/2011/01/curso-gratuito-introducao-ao-php/</link>
		<comments>http://phpsp.org.br/2011/01/curso-gratuito-introducao-ao-php/#comments</comments>
		<pubDate>Fri, 07 Jan 2011 11:56:31 +0000</pubDate>
		<dc:creator>Rafael Dohms</dc:creator>
				<category><![CDATA[Cursos]]></category>
		<category><![CDATA[curso]]></category>
		<category><![CDATA[gratuito]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[season]]></category>

		<guid isPermaLink="false">http://phpsp.org.br/?p=1663</guid>
		<description><![CDATA[Muitas vezes me pedem para indicar material para quem esta iniciando no PHP. Geralmente indico o livro PHP5: Programação Poderosa. Porém a Season acaba de me dar um novo material para indicar pra quem me perguntar isso agora em janeiro. Eles estão oferecendo um minicurso gratuito introdutório ao PHP, se você conhece alguém ou esta [...]]]></description>
			<content:encoded><![CDATA[<p>Muitas vezes me pedem para indicar material para quem esta iniciando no PHP. Geralmente indico o livro PHP5: Programação Poderosa.</p>
<p>Porém a <strong>Season</strong> acaba de me dar um novo material para indicar pra quem me perguntar isso agora em janeiro. Eles estão oferecendo um minicurso gratuito introdutório ao PHP, se você conhece alguém ou esta iniciando no PHP está é uma ótima oportunidade, veja mais informações.</p>
<blockquote>
<div id="_mcePaste"><strong>Introdução ao PHP &#8211; Primeiro contato com a tecnologia</strong></div>
<div id="_mcePaste">Tipo: Minicurso Gratuito</div>
<div id="_mcePaste">Início: 19.01.2011</div>
<div id="_mcePaste">Duração: 3 horas / 1 aulas</div>
<div id="_mcePaste">Período: Qua &#8211; Noite</div>
<div id="_mcePaste">Horário: das 19hs às 22hs</div>
<div id="_mcePaste">Local:</div>
<div id="_mcePaste" style="padding-left: 30px;">Sala 22</div>
<div id="_mcePaste" style="padding-left: 30px;">Av. Bernardino de Campos, 327 &#8211; Paraíso</div>
<div id="_mcePaste" style="padding-left: 30px;">São Paulo/SP</div>
</blockquote>
<p>Para se cadastrar e ter mais informações visite o site da Seasons: <strong><a href="http://www.season.com.br/cms/treinamentos/calendario/detalhe/evento/55/">Introdução ao PHP</a></strong></p>
]]></content:encoded>
			<wfw:commentRss>http://phpsp.org.br/2011/01/curso-gratuito-introducao-ao-php/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Cursos Zend abertos em São Paulo</title>
		<link>http://phpsp.org.br/2011/01/cursos-zend-abertos-em-sao-paulo/</link>
		<comments>http://phpsp.org.br/2011/01/cursos-zend-abertos-em-sao-paulo/#comments</comments>
		<pubDate>Wed, 05 Jan 2011 13:59:52 +0000</pubDate>
		<dc:creator>Rafael Dohms</dc:creator>
				<category><![CDATA[Cursos]]></category>
		<category><![CDATA[Notícias]]></category>
		<category><![CDATA[curso]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[seasons]]></category>
		<category><![CDATA[zend]]></category>

		<guid isPermaLink="false">http://phpsp.org.br/?p=1656</guid>
		<description><![CDATA[A Season, parceira oficial da Zend no Brasil está anunciando, conforme prometido durante a PHP Conference, que realizará cursos oficiais da Zend em São Paulo. O curso anunciado é o PHP I: Fundamentos que será realizado no final de Fevereiro no Paraíso. PHP I &#8211; Fundamentos (Treinamento Oficial Zend) Tipo: Curso Início: 28.02.2011 Fim: 02.03.2011 [...]]]></description>
			<content:encoded><![CDATA[<p>A <a href="http://www.season.com.br/">Season</a>, parceira oficial da Zend no Brasil está anunciando, conforme prometido durante a PHP Conference, que realizará cursos oficiais da Zend em São Paulo. O curso anunciado é o <strong>PHP I: Fundamentos</strong> que será realizado no <strong>final de Fevereiro</strong> no Paraíso.</p>
<div id="_mcePaste">
<blockquote>
<div id="_mcePaste"><strong>PHP I &#8211; Fundamentos</strong> (Treinamento Oficial Zend)</div>
<div id="_mcePaste">Tipo: Curso</div>
<div id="_mcePaste">Início: 28.02.2011</div>
<div id="_mcePaste">Fim: 02.03.2011</div>
<div id="_mcePaste">Duração: 24 horas / 6 aulas</div>
<div id="_mcePaste">Período: Seg. à Sex. &#8211; Integral</div>
<div id="_mcePaste">Local:<span style="white-space: pre;"> </span></div>
<div id="_mcePaste">Av. Bernardino de Campos, 327 &#8211; Paraíso</div>
<div id="_mcePaste">São Paulo/SP</div>
</blockquote>
</div>
<div>Se quiser sabe mais sobre o curso, visite a página da Season: <a href="http://www.season.com.br/cms/treinamentos/calendario/detalhe/evento/62/">PHP I: Fundamentos (mais informações)</a></div>
]]></content:encoded>
			<wfw:commentRss>http://phpsp.org.br/2011/01/cursos-zend-abertos-em-sao-paulo/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Participe do Webcast Tutorial: Programando PHP para o seu dispositivo Android</title>
		<link>http://phpsp.org.br/2010/12/participe-do-webcast-tutorial-programando-php-para-o-seu-dispositivo-android/</link>
		<comments>http://phpsp.org.br/2010/12/participe-do-webcast-tutorial-programando-php-para-o-seu-dispositivo-android/#comments</comments>
		<pubDate>Tue, 21 Dec 2010 12:11:20 +0000</pubDate>
		<dc:creator>diego.silva</dc:creator>
				<category><![CDATA[Notícias]]></category>
		<category><![CDATA[Palestras e Seminários]]></category>
		<category><![CDATA[Android]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Webcast]]></category>

		<guid isPermaLink="false">http://phpsp.org.br/?p=1629</guid>
		<description><![CDATA[O Webcast Tutorial: Programando PHP para o seu dispositivo Android, acontecerá no dia 21/12, com Kinn Julião que trabalha com PHP há 6 anos e é o responsável pelos treinamentos de PHP da 4Linux. Esse Webcast Tutorial tem em vista o tão comentado sistema operacional para celulares, da Google, e abordará algumas questões práticas entre [...]]]></description>
			<content:encoded><![CDATA[<p>O Webcast Tutorial: Programando PHP para o seu dispositivo Android, acontecerá no dia 21/12, com Kinn Julião que trabalha com PHP há 6 anos e é o responsável pelos treinamentos de PHP da 4Linux. Esse Webcast Tutorial tem em vista o tão comentado sistema operacional para celulares, da Google, e abordará algumas questões práticas entre PHP e Android em 15 minutos de exposição e outros 15 minutos para que os participantes possam fazer suas perguntas.</p>
<p>Perguntas que serão respondidas nesta edição:</p>
<p>* Porque programar PHP para Android<br />
* O que é possível fazer com o PHP no Android<br />
* São vendáveis as aplicações?<br />
* O que esperar do PFA?</p>
<p>Tópicos que serão abordados:</p>
<p>* Arquitetura Android<br />
* A camada de scripts para Android<br />
* A API PHP 4 Android<br />
* PFAF – O Framework PHP FOR ANDROID</p>
<p>Inscrições e informações: <a href="http://www.4linux.com.br/noticias/2010/participe-webcast-tutorial-programando-php-para-seu-dispositivo-android.html">http://www.4linux.com.br/noticias/2010/participe-webcast-tutorial-programando-php-para-seu-dispositivo-android.html</a></p>
]]></content:encoded>
			<wfw:commentRss>http://phpsp.org.br/2010/12/participe-do-webcast-tutorial-programando-php-para-o-seu-dispositivo-android/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>PHP Unconference 2010 &#8211; Agenda</title>
		<link>http://phpsp.org.br/2010/11/php-unconference-2010-agenda/</link>
		<comments>http://phpsp.org.br/2010/11/php-unconference-2010-agenda/#comments</comments>
		<pubDate>Fri, 26 Nov 2010 00:31:43 +0000</pubDate>
		<dc:creator>duodraco</dc:creator>
				<category><![CDATA[Conference]]></category>
		<category><![CDATA[Notícias]]></category>
		<category><![CDATA[Unconferences & Butecos]]></category>
		<category><![CDATA[phpconference]]></category>
		<category><![CDATA[phpunconfbr]]></category>

		<guid isPermaLink="false">http://phpsp.org.br/?p=1578</guid>
		<description><![CDATA[Unconference: a Conferência dentro da Conferência. Confira a Agenda que preparamos para a comunidade: Sexta 11h Apresentação e Bate-Papo 12h Funções de Callback em PHP 14h Reconhecendo padrões utilizando Expressões Regulares 15:30h Lightning Talks 16:30h Mesa Redonda Sábado 12h HTML5 14h Service Layer 15:30h Lightning Talks 16:30h Mesa Redonda O PHPSP fará a abertura da [...]]]></description>
			<content:encoded><![CDATA[<p>Unconference: a Conferência dentro da Conferência. Confira a Agenda que preparamos para a comunidade:</p>
<table>
<thead>
<tr>
<th colspan="2">Sexta</th>
</tr>
</thead>
<tbody>
<tr>
<td>11h</td>
<td style="text-align: left;">Apresentação e Bate-Papo</td>
</tr>
<tr>
<td>12h</td>
<td style="text-align: left;"><strong>Funções de Callback em PHP</strong></td>
</tr>
<tr>
<td>14h</td>
<td style="text-align: left;"><strong>Reconhecendo padrões utilizando Expressões Regulares</strong></td>
</tr>
<tr>
<td>15:30h</td>
<td style="text-align: left;">Lightning Talks</td>
</tr>
<tr>
<td>16:30h</td>
<td style="text-align: left;">Mesa Redonda</td>
</tr>
<tr>
<th colspan="2"></th>
</tr>
<tr>
<th colspan="2">Sábado</th>
</tr>
</tbody>
<tbody>
<tr>
<td>12h</td>
<td style="text-align: left;"><strong>HTML5</strong></td>
</tr>
<tr>
<td>14h</td>
<td style="text-align: left;"><strong>Service Layer</strong></td>
</tr>
<tr>
<td>15:30h</td>
<td style="text-align: left;">Lightning Talks</td>
</tr>
<tr>
<td>16:30h</td>
<td style="text-align: left;">Mesa Redonda</td>
</tr>
</tbody>
</table>
<p>O PHPSP fará a abertura da Unconference em uma sessão de bate-papo. É um espaço aberto, de integração e networking, para todas as comunidades &#8211; por isso estejam convidados: Líderes de Comunidade, Palestrantes, Desenvolvedores e todos que queiram conhecer algumas pessoas que fazem o PHP acontecer no país e no mundo.</p>
<p>Antes e depois do almoço haverão palestras (os itens <strong>em negrito</strong>)  que serão apresentadas por Rodrigo Sales (na sexta-feira), Felipe Moura e Guilherme Blanco. Confiram!</p>
<p>Os Lightining Talks são espaços onde qualquer um pode apresentar uma palestra-relâmpago, de no máximo 10 minutos.</p>
<p>No fim de cada dia haverá uma mesa redonda com palestrantes, Líderes de grupos e desenvolvedores que são destaque na comunidade &#8211; apareça lá, conheça, tire suas dúvidas e colabore com o conhecimento e o nosso PHP.</p>
<p>Até o momento não tivemos uma confirmação da viabilidade da gravação do PHPSPCast no evento. Caso seja possível avisaremos a todos no evento &#8211; e se assim for, participe!</p>
<p>Esperamos vocês na PHPConference e na Unconf</p>
<p>Até lá</p>
]]></content:encoded>
			<wfw:commentRss>http://phpsp.org.br/2010/11/php-unconference-2010-agenda/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>PHP Unconference Brazil 2010</title>
		<link>http://phpsp.org.br/2010/11/php-unconference-brazil-2010/</link>
		<comments>http://phpsp.org.br/2010/11/php-unconference-brazil-2010/#comments</comments>
		<pubDate>Wed, 17 Nov 2010 11:00:23 +0000</pubDate>
		<dc:creator>duodraco</dc:creator>
				<category><![CDATA[Conference]]></category>
		<category><![CDATA[Palestras e Seminários]]></category>
		<category><![CDATA[Unconferences & Butecos]]></category>
		<category><![CDATA[phpconference]]></category>
		<category><![CDATA[phpunconfbr]]></category>

		<guid isPermaLink="false">http://phpsp.org.br/?p=1544</guid>
		<description><![CDATA[Olá pessoal, Está chegando mais uma PHP Conference Brazil e assim como no ano anterior vamos ter nossa Unconference. Para quem não está habituado com o termo, a Unconference é uma conferência dentro da conferência &#8211; menos formal, mais aberta. Neste ano faremos mesas redondas com os palestrantes, gravação do PHPSPCast Especial e uma sessão [...]]]></description>
			<content:encoded><![CDATA[<p>Olá pessoal,</p>
<p>Está chegando mais uma PHP Conference Brazil e assim como no ano anterior vamos ter nossa Unconference. Para quem não está habituado com o termo, a Unconference é uma conferência dentro da conferência &#8211; menos formal, mais aberta.</p>
<p>Neste ano faremos mesas redondas com os palestrantes, gravação do PHPSPCast Especial e uma sessão de lightning talks &#8211; palestras curtas &#8211; de no máximo 10 minutos &#8211; feitas por quem, e para quem, estiver ali na hora, inclusive você.</p>
<p>Falando em você, que vai ao Evento este ano, abriremos espaço para que mostre o que sabe, colaborando com este grande acontecimento. Estamos abrindo aqui um Call For Papers relâmpago. Quatro palestras dentre as enviadas farão parte da Unconference, duas na sexta-feira, duas no sábado.</p>
<p><span style="text-decoration: line-through;">Para se candidatar preencha o formulário abaixo. Você tem até 21h de  terça-feira (23/11) para enviar sua proposta de palestra</span>. Na quarta(24/11)  serão divulgados os palestrantes de sexta e na quinta(25/11) os de sábado. <span style="text-decoration: line-through;">Corra!</span></p>
<p>Envio de propostas encerrado.</p>
]]></content:encoded>
			<wfw:commentRss>http://phpsp.org.br/2010/11/php-unconference-brazil-2010/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Salvem os bebês foca: Espaços duplicados</title>
		<link>http://phpsp.org.br/2010/10/salvem-os-bebes-foca-espacos-duplicados/</link>
		<comments>http://phpsp.org.br/2010/10/salvem-os-bebes-foca-espacos-duplicados/#comments</comments>
		<pubDate>Wed, 27 Oct 2010 20:14:10 +0000</pubDate>
		<dc:creator>Augusto Pascutti</dc:creator>
				<category><![CDATA[Des-sobrinhação]]></category>

		<guid isPermaLink="false">http://phpsp.org.br/?p=1521</guid>
		<description><![CDATA[Programar pode ser uma tarefa árdua ou gratificante e geralmente isso está relacionado com o tipo de código que você está mexendo. Existem vários tipos de código, mas o mais repulsivo sempre é o Spaguetti: uma maçaroca generalizada de todas as coisas, páginas que ultrapassam as milhares de linhas geralmente codificadas por pessoas que não [...]]]></description>
			<content:encoded><![CDATA[<div class="wp-caption alignright" style="width: 298px"><img class="  " title="Bebê Foca" src="http://www.freewallpapers.com.br/800/wallpaper415127000.jpg" alt="Bebê Foca" width="288" height="216" /><p class="wp-caption-text">Bebê Foca</p></div>
<p>Programar pode ser uma tarefa árdua ou gratificante e geralmente isso está relacionado com o tipo de código que você está mexendo. Existem vários tipos de código, mas o mais repulsivo sempre é o Spaguetti: uma maçaroca generalizada de todas as coisas, páginas que ultrapassam as milhares de linhas geralmente codificadas por pessoas que não acreditam no uso de funções e boas práticas de desenvolvimento (não vou nem cogitar Orientação a Objetos).</p>
<p>Agora, existem também os desenvolveres sobrinhos criativos. Eles se esforçam (ou não) mas acabam por não chegar lá, falhando miseravelmente em sua tentativa frustrada de resolver um problema. Na verdade eles resolvem, não o problema em si mas o resultado do problema e quando isso acontece, um inocente bebê foca é morto violentamente por uma facção de desenvolvedores xiitas.</p>
<h2>O problema</h2>
<p>É incrível como podemos sempre contar com os usuários. Existe uma síndrome constante que se espalha como praga no mundo: espaços duplos. Não sei o porquê disso, mas é incrível como sempre precisamos tratar espaços duplicados dentro das nossas aplicações a fim de não quebrar o layout ou ferrar com todo o design imaculado de um portal.</p>
<p>Vamos a primeira tentativa do nosso querido amigo:</p>
<pre class="brush: php; title: ; notranslate">
function remover_espacos_duplos($texto) {
    $texto = str_replace(&quot;   &quot;,&quot; &quot;, $texto);
    $texto = str_replace(&quot;  &quot;,&quot; &quot;, $texto);
    return $texto;
}
</pre>
<p>Com o tempo nosso sobrinho percebeu que poderiam haver mais que dois ou três espaços e que essa função não era a solução pro problema. Não demorou e surgiu a versão 2.0 da função:</p>
<pre class="brush: php; title: ; notranslate">
function remover_espacos_duplos($texto) {
    $espacos = array(&quot;     &quot;,&quot;    &quot;,&quot;   &quot;,&quot;  &quot;);
    foreach ( $espacos as $espaco ) {
        if ( strpos($texto, $espaco) !== false ) {
            $texto = str_replace($espaco, ' ', $texto);
        }
    }
    return $texto;
}
</pre>
<p>Há! Bem melhor agora! Agora ela contempla até 5 espaços consecutivos. Já imaginou quando alguém colocar 20 espaços consecutivos? Como será que nosso amiguinho iria resolver? Que Deus proteja os bebês foca.</p>
<h2>A solução</h2>
<p>Para evitar que o pessoal copie as funções acima sem ler o post e consequentemente entender que se trata de uma brincadeira e de como não resolver o problema, vamos sempre propor uma solução, e pra esta a melhor é:</p>
<pre class="brush: php; title: ; notranslate">
function remover_espacos_duplos($texto) {
    return preg_replace('/\s\s+/', ' ', $texto);
}
</pre>
<h2>Ajude a salvar bebês foca</h2>
<p>Nos envie algum código de sobrinho que você achou por aí. Não precisamos de nomes, mas uma história é sempre interessante. Envie um email para sobrinhagem@phpsp.org.br</p>
]]></content:encoded>
			<wfw:commentRss>http://phpsp.org.br/2010/10/salvem-os-bebes-foca-espacos-duplicados/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Revista: PHP Review</title>
		<link>http://phpsp.org.br/2010/08/revista-php-review/</link>
		<comments>http://phpsp.org.br/2010/08/revista-php-review/#comments</comments>
		<pubDate>Fri, 13 Aug 2010 20:56:27 +0000</pubDate>
		<dc:creator>Rafael Dohms</dc:creator>
				<category><![CDATA[Notícias]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[phpreview]]></category>
		<category><![CDATA[revista]]></category>

		<guid isPermaLink="false">http://phpsp.org.br/?p=1385</guid>
		<description><![CDATA[Mais uma vez o mercado de PHP brasileiro se prepara para possuir uma revista impressa de PHP. Surgindo para tapar um buraco deixado por investidas nacionais como a PHP Magazine e revistas internacionais que não mais fornecem edições impressas a Revista PHP Review promete trazer cada vez mais conteúdo de qualidade para toda a comunidade [...]]]></description>
			<content:encoded><![CDATA[<p>Mais uma vez o mercado de PHP brasileiro se prepara para possuir uma revista impressa de PHP. Surgindo para tapar um buraco deixado por investidas nacionais como a PHP Magazine e revistas internacionais que não mais fornecem edições impressas a Revista PHP Review promete trazer cada vez mais conteúdo de qualidade para toda a comunidade PHP.</p>
<p>Lançada pela <a href="http://www.phpreview.net/index/nossa.equipe">equipe PHP Review</a> e contando com o apoio da editora <a href="http://www.novatec.com.br/?idA=226">Novatec</a>, a revista será um projeto colaborativo, contando inclusive com um nome que foi escolhido pela comunidade em votação aberta.</p>
<p>A previsão de lançamento é em Agosto de 2010, para conhecer mais visite o <a href="http://www.phpreview.net">site da revista</a> e aproveite e faça o <a href="http://www.phpreview.net/usuario/novo">seu cadastro</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://phpsp.org.br/2010/08/revista-php-review/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Resultado &#8220;O PHPSPCast quer que você se certifique !&#8221;</title>
		<link>http://phpsp.org.br/2010/08/resultado-o-phpspcast-quer-que-voce-se-certifique/</link>
		<comments>http://phpsp.org.br/2010/08/resultado-o-phpspcast-quer-que-voce-se-certifique/#comments</comments>
		<pubDate>Mon, 02 Aug 2010 18:51:54 +0000</pubDate>
		<dc:creator>Augusto Pascutti</dc:creator>
				<category><![CDATA[PHPSP]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[PHPSPCast]]></category>
		<category><![CDATA[promocao]]></category>
		<category><![CDATA[zce]]></category>

		<guid isPermaLink="false">http://phpsp.org.br/?p=1326</guid>
		<description><![CDATA[Há algumas semanas iniciamos uma promoção e chegou o momento, grande para alguns e nem tanto para outros, do resultado. Antes de mais nada, gostaríamos de salientar duas coisas: O objetivo da promoção e das perguntas não era desmotivar ninguém a nada, nem provar nada a ninguém. Nossa primeira intenção é &#8211; e sempre foi [...]]]></description>
			<content:encoded><![CDATA[<p>Há algumas semanas iniciamos <a href="http://phpsp.org.br/2010/06/promocao-o-phpspcast-quer-que-voce-se-certifique/" target="_blank">uma promoção</a> e chegou o momento, grande para alguns e nem tanto para outros, do resultado. Antes de mais nada, gostaríamos de salientar duas coisas:</p>
<ul>
<li>O objetivo da promoção e das perguntas não era desmotivar ninguém a nada, nem provar nada a ninguém. Nossa primeira intenção é &#8211; e sempre foi &#8211; sermos os mais fiéis ao teste de certificação quanto possível. Nossa segunda intenção (que acredite, não era consciente até alguns dias depois da promoção ter início) era mostrar que, às vezes, você pode conhecer muito uma determinada parte do PHP, mas pode ignorar a existência de muitas outras;</li>
<li>Procuramos ser os mais justos quanto possível na correção, justos e imparciais. Corrigimos cada submissão, prestando atenção às respostas e sendo flexíveis em relação a elas, sendo imparciais quanto às regras, somente;</li>
</ul>
<p>Dito isso, e depois de uma odisséia de correções, temos os resultados. Mas por que não discutir as perguntas e as respectivas respostas antes?</p>
<h2>Correção e Comentário do Questionário</h2>
<h3>Usando Streams, que função usaria para que seu script continue rodando sem parar e esperar uma resposta do stream?</h3>
<p>Bom, Streams &#8211; como cita o manual &#8211; é um grupo de coisas que se enquadra num comportamento que permita escrita e leitura de maneira linear. Exemplos disso são basicamente as coisas que você pode fazer com o conjunto de funções <em>fopen()</em>. Escrever, ler arquivos; buscar informações de URLs, escrever diretamente em FTPs, etc. Com elas, por exemplo, você pode criar um novo tipo de Stream para escrever de forma nativa arquivos de Excel passando somente <em>Arrays</em> para a <em>fwrite()</em>.</p>
<p>Agora, o que significa o &#8220;esperar uma resposta do stream&#8221;? Exatamente isso. Suponhamos o uso das funções <em>fgets()</em> ou <em>fread()</em>, é natural que, se usamos algumas delas, queremos que algum dado seja retornado, certo? Errado. Isso é o que geralmente ocorre, mas, em algumas ocasiões &#8211; principalmente quando os dados não existem ainda na fonte e são gerados de forma ocasional -, você não pode esperar isso. Se não houver nada, simplesmente não me retorne nada e não espere um &#8220;<em>EOF</em>&#8221; que nunca virá.</p>
<p>Pra explicitarmos esse comportamento, usamos a função <a href="http://www.php.net/manual/en/function.stream-set-blocking.php" target="_blank">stream_set_blocking()</a>. Aceitamos como resposta aqui também, as funções <em>set_socket_blocking</em>() e <em>socket_set_blocking</em>() que foram depreciadas. Uma pena, mas, só com essa pergunta, mais da metade das pessoas que participaram já estavam fora da promoção por terem errado a resposta. E lembrando que não importa como você escreveu a resposta: por termos corrigido manualmente, se você acertou o nome de alguma das funções, sua resposta foi considerada certa.</p>
<p>Resposta: stream_set_blocking().</p>
<h3>Qual o resultado do código &lt;? echo (int) 013 +1; ?&gt;?</h3>
<p>Ficamos felizes de saber que quase ninguém errou esta questão. No fim, não importa se é porque a pessoa sabia o motivo da resposta ser <strong>12</strong> ou se porque ela executou o código. Importa que agora ela sabe, entendendo o motivo ou não, que coisas estranhas podem acontecer no paraíso.</p>
<p>Coisa estranha? Não. Bug? Não também. Não neste caso. No PHP, os <a href="http://www.php.net/manual/en/language.types.integer.php" target="_blank">números inteiros </a>(caso acima) podem ser representados em três notações diferentes: <a href="http://pt.wikipedia.org/wiki/Sistema_decimal" target="_blank">decimal</a> (nossa velha conhecida), <a href="http://pt.wikipedia.org/wiki/Sistema_hexadecimal" target="_blank">hexadecimal</a> e <a href="http://pt.wikipedia.org/wiki/Sistema_octal" target="_blank">octal</a>. Para representar um inteiro usando a notação hexadecimal, o número precisa começar com <em>0x (zero, xis)</em> e em octal, começar com <em>0 (zero)</em>. Olhemos de novo o código acima então. O inteiro &#8220;013&#8243; começa com zero, logo ele é um octal que convertido para decimal vira 11. Logo, a resposta é 12 mesmo. =]</p>
<p>Resposta: 12.</p>
<h3>Qual dos itens abaixo não é uma funcionalidade adicionada no PHP 5.3?</h3>
<div id="attachment_1336" class="wp-caption alignright" style="width: 393px"><a href="http://phpsp.org.br/wp-content/uploads/2010/07/manual-since-version-feature.png"><img class="size-full wp-image-1336 " title="Manual PHP - Detalhe  de quando  a funcionalidade está presente no PHP" src="http://phpsp.org.br/wp-content/uploads/2010/07/manual-since-version-feature.png" alt="" width="383" height="237" /></a><p class="wp-caption-text">Trecho do  Manual do PHP</p></div>
<p>Essa não tem muito o que discutir.  A única opção que não foi adicionada na versão 5.3 é a função <a href="http://br3.php.net/spl_object_hash" target="_blank"><em>spl_object_hash</em>()</a>, que foi adicionada na versão 5.2 do PHP e teve contribuição do nosso amigo e colega de comunidade <em>Guilherme Blanco</em> na sua implementação. O <em>Phar </em>se tornou parte integrante do PHP na versão 5.3. Para as anteriores (versão 5.2 ou superior) ela pode ser instalada através da <a href="http://pecl.php.net" target="_blank">PECL</a>. Portanto, repare que antes da versão 5.3 ela ainda não era uma funcionalidade do próprio PHP. <a href="http://www.php.net/manual/en/features.gc.php" target="_blank">Garbage Collector</a>, <a href="http://www.php.net/manual/en/language.namespaces.php" target="_blank">Namespaces</a> e o <a href="http://www.php.net/manual/en/class.splfixedarray.php" target="_blank">SplFixedArray</a> são todos recursos novos adicionados na versão 5.3 e tidos como grandes novidades. Nós mesmos, aqui do PHPSP, cansamos de mencionar esses três recursos durante meses.</p>
<p>Mas como você pode saber a partir de qual versão determinado recurso existe? Acho que é óbvio que a resposta está no manual, mas como? Toda entrada de função ou método no manual possui, logo abaixo do título, a seguinte informação entre parênteses: <em>(&lt;Major PHP Version&gt; &lt;operator&gt; &lt;Minor PHP Version&gt; ). </em>Dúvidas? Olhe a screenshot ao lado:</p>
<p>Como você pode ver através da screenshot, a função <em>spl_object_hash</em>() está disponível somente para versões do PHP 5 maiores ou iguais que 5.2.0. Logo, ela foi introduzida na versão 5.2. Entre nos links das demais funcionalidades que colocamos nesta explicação e procure essa informação por você mesmo. Saber a partir de qual versão determinado recurso está disponível é essencial no seu dia a dia.</p>
<p>Resposta: spl_objct_hash().</p>
<h3>Quais dos itens abaixo possuem implementações para manipulação de XML no PHP?</h3>
<p>Essa era chata de acertar. A resposta correta era marcar todas as opções, ou seja: <a href="http://www.php.net/simplexml" target="_blank">SimpleXML</a>, <a href="http://www.php.net/manual/en/function.xslt-set-sax-handlers.php" target="_blank">SaX</a>, <a href="http://www.php.net/manual/en/book.dom.php" target="_blank">DOM</a> e <a href="http://www.php.net/manual/en/book.xsl.php" target="_blank">XSL</a>. Chata porque precisava de um pouco mais do que uma olhada superficial pela documentação do PHP, mas nada de outro mundo &#8211; não mais do que 30 min navegando pela seção de <a href="http://www.php.net/manual/en/refs.xml.php" target="_blank">XML do manual</a> você mataria a resposta correta.</p>
<p>Vamos dar uma passada rápida sobre cada alternativa a resposta:</p>
<ul>
<li><strong>SimpleXML</strong>: implementação do PHP que converte um XML em um objeto. Vantagens disso? Ora, um objeto pode ser facilmente manipulado, validado e utilizado por outros objetos. Comparar um objeto com uma string é uma sacanagem que não vou fazer. De todas as implementações existentes, pessoalmente, acho essa a mais simples e direta de se utilizar. Talvez seja mesmo e, quem sabe, não é por isso que ela levou esse nome?!</li>
<li><strong>SaX</strong>: Essa deve ter sido difícil de achar. Quando XML ainda não era moda e o Java já era velho e cheio de coisa, existia uma implementação para interpretação e manipulação de XML em Java chamada &#8220;<em><a href="http://www.saxproject.org/" target="_blank">Simple API for XML</a></em>&#8220;. Ela foi tão largamente utilizada que acabou virando um padrão e recebeu implementações em diversas outras linguagens. No PHP não foi diferente, ele recebeu algumas funções que estão bem escondidas no manual (assim como o <a href="http://br.php.net/goto" target="_blank">Goto</a>). Estão escondidas porque são coisas que precisam ser esquecidas. Existem jeitos muito melhores de se trabalhar com XML, mas se você tiver curiosidade, olhe. Aprender nunca é demais. Diferente do DOM e do XSL, o SaX não é um padrão e não existe nenhum documento ou órgão que regulamente como sua interface deve ser aplicada;</li>
<li><strong>DOM</strong>: A <em>Document Object Model</em> é uma API de manipulação de conteúdo que hoje é mantida pelo W3C (sim, o mesmo do HTML, CSS, etc) e possui basicamente duas implementações no PHP. A <a href="http://www.php.net/manual/en/book.dom.php" target="_blank">DOM</a> (para PHP5) e a <a href="http://www.php.net/manual/en/ref.domxml.php" target="_blank">DOM XML </a>(para PHP 4). Se você conhece um pouco de JavaScript, sabe como funciona a DOM dos objetos HTML. A implementação do PHP é bem parecida com a do JavaScript ou ECMAScript. Uma vantagem em relação às demais é que ela trabalha internamente só com encoding UTF-8 enquanto as demais (por causa do próprio funcionamento de Strings do PHP) trabalham com ISO-8859-1;</li>
<li><strong>XSL</strong>: Da mesma forma que o CSS transforma a apresentação do HTML, podemos dizer que o XSL (<em>Extensible Stylesheet Language</em>) transforma a apresentação de um XML. Ok, não é tão semelhante assim, mas se você não faz idéia do que é XSL, agora provavelmente já tenha uma noção do que seja. XSL é basicamente outro XML que descreve o que fazer com o conteúdo de um XML, permitindo adicionar ou esconder seu conteúdo. Também podem ser chamados de <em>XSL Transformations</em> ou XSLT, cujo padrão também é estabelecido pelo W3C;</li>
</ul>
<p>Resposta: SimplesXML, SaX, DOM e XSL.</p>
<h3>Supondo as configurações do php.ini abaixo (e que elas sejam mantidas) e a versão 5.3.2 do PHP. O que deveria haver no local do comentário no código para que nenhum erro/notice fosse exibido e o script não seja interrompido? &lt;?php /* algo */ echo date(&#8216;Y-m-d&#8217;); ?&gt;</h3>
<h4>error_reporting = -1 e display_errors = On</h4>
<p>Essa aqui foi o terror para o pessoal, assim como a questão sobre Streams. Vamos primeiro entender a pergunta:</p>
<p>Temos a última versão do PHP (5.3.2) com exibição de todos os tipos de erro habilitados e queremos executar o código acima sem que nenhum erro seja exibido. Mas será que algum erro é exibido? A resposta é sim. O manual da função <a href="http://br2.php.net/manual/en/function.date.php" target="_blank">date</a>() nos informa no changelog da função que a partir da versão 5.1.0 erros relacionados a timezone passam a ser gerados sob a forma de <em>E_STRICT</em> e <em>E_NOTICE</em>. Erros de timezone podem ser:</p>
<ul>
<li>Nenhuma timezone definida pelo usuário</li>
<li>Timezone desconhecida definida</li>
<li>O PHP atribui a timezone através da variável TZ do sistema operacional (Só feito antes do PHP 5.3)</li>
</ul>
<p>Caso você não saiba o que é uma timezone, sugiro a você que estudo MUITO sobre internacionalização. Caso você queira saber um pouco mais sobre isso, eis uma breve introdução só sobre timezones, caso contrário, pule o parágrafo abaixo:</p>
<p>A Terra possui diferentes fuso horários baseados no posicionamento do sol (ele não está no centro do céu ao mesmo tempo em todos os lugares do mundo). Os britânicos foram os primeiros a se organizar nas viagens marítimas e manter um cronômetro em sincronia com o relógio de Greenwich, assim podiam calcular sua longitude (lógico que o marco zero era o próprio observatório de Greenwich) e sincronizar encontros de carga e descarga com mercadores de outros países em um horário comum (lembra que o sol não está na mesma posição pra todo mundo?!). Hoje ainda isso é usado (mas com <em>updates</em> frequentes) e o nosso timezone pode ser representado como GMT-03:00, pois estamos três horas atrás do marco zero. Na verdade hoje não se usa mais o GMT, e sim o UTC. O que é o UTC? A mesma coisa que o GMT com a diferença que o UTC sofre alterações constantes acompanhando a posição exata do sol para cada timezone, o porquê disso é interessante mas não vou alongar mais. Sorry. A única coisa que é válida saber também é que UTC e GTM só são iguais se você desconsiderar os segundos de alteração que o UTC sofre por causa da rotação da terra enquanto o GTM se mantém inalterado. O UTC é a base de timezone e fusos para o mundo todo, mas não se importe muito se você vir pessoas usando GTM ao invés de UTC, agora você sabe um pouco mais que elas :P (Sugerimos que de uma olhada no livro de Derick Rethans: <a href="http://www.phparch.com/books/phparchitects-guide-to-date-and-time-programming/">Guide to Date and Time Programming</a>)</p>
<p>A partir do PHP 5.3 o PHP tenta determinar o timezone na seguinte prioridade:</p>
<ol>
<li> Utilizar o timezone estabelecido pela função <a href="http://br2.php.net/manual/en/function.date-default-timezone-set.php" target="_blank">date_default_timezone_set</a>()</li>
<li>Ler a entrada date.timezone do php.ini</li>
</ol>
<p>Antes do PHP 5.3, o PHP tentava ler a variável TZ da shell antes de buscar no php.ini, mas isso deu problemas demais e optou-se por forçar os desenvolvedores a realmente entender e definir uma timezone. Logo, se você não definir, um erro é jogado na tela. Você pode definir isso através de um <em>ini_set</em>() ou através da <em>date_default_timezone_set</em>(). A título de curiosidade nosso timezone é &#8220;America/Sao_Paulo&#8221;.</p>
<p>Existe uma função também, a <a href="http://php.net/date_timezone_set" target="_blank">date_timezone_set</a>(), mas ela não é aceita como resposta a esta questão. Ela define uma timezone a um objeto DateTime, como a função date() não tem relação direta com o objeto DateTime não resolveria o problema do código da questão.</p>
<p>A resposta correta, então, para essa questão seria <em>date_default_timezone_set</em>(), que pouca gente acertou. A grande maioria tentou como resposta alterar o nível de <em>error_reporting </em>ou usar o @ para suprimir o erro. Não aceitamos respostas que modificassem as configurações do php.ini (portanto ini_set() foi descartado também) e muito menos formas de supressão de erro, como o @, uma vez que suas práticas são péssimas e desencorajadas sob pena de morte se encontrarmos alguém fazendo isso. Erros existem para ser interpretados, e não ignorados. Pense nisso.</p>
<p>Resposta: date_default_timezone_set().</p>
<h3>Quais das classes abaixo não existem?</h3>
<p>Vamos discutir opção por opção:</p>
<ul>
<li><a href="http://php.net/splfixedarray" target="_blank">SplFixedArray</a>: Implementação da SPL de um array de tamanho fixo. Esta implementação é mais rápida e usa menos memória que a implementação de Array nativa do próprio PHP, foi adicionada na versão 5.3.0;</li>
<li><a href="http://www.php.net/manual/en/book.spl-types.php" target="_blank">SplInt</a>: Uma das implementações de SplType que estão sendo feitas no PHP através de uma extensão PECL. Apesar de não serem nativas do PHP, essa classe existe dentro do contexto oficial do PHP. Tanto é que todas as implementações podem ser encontradas no manual;</li>
<li><a href="http://www.php.net/manual/en/class.unexpectedvalueexception.php" target="_blank">UnexpectedValueException</a>: Uma das Exceptions padrão implementadas na SPL desde a versão 5.1 no PHP de forma nativa;</li>
<li><a href="http://www.php.net/manual/en/class.infiniteiterator.php" target="_blank">InfiniteIterator</a>: Implementação de um Iterator que fica infinitamente varrendo algo iterável (um array ou um objeto que implementa a interface de Iterator) sem a necessidade de se chamar o <a href="http://www.php.net/manual/en/function.rewind.php" target="_blank">rewind</a>() no final do mesmo;</li>
<li><a href="http://www.php.net/manual/en/class.splfileinfo.php" target="_blank">SplFileInfo</a>: Esta classe oferece informações detalhadas de um determinado arquivo;</li>
<li><a href="http://www.php.net/manual/en/class.datetime.php" target="_blank">DateTime</a>: Classe introduzida no PHP 5.2, praticamente inteira feita pelo Derick Rethans, para se trabalhar com data e hora;</li>
<li>SplObject: É, fui criativo no nome da classe e até que ela tem um nome bonito. Mas não existe;</li>
<li>StdClass: Por incrível que pareça, essa existe. É uma classe padrão e vazia que o PHP utiliza em determinados casos. Exprimente executar isso e veja você mesmo: &lt;?php var_dump((object) &#8216;a&#8217;) ?&gt;;</li>
</ul>
<p>Resposta: SplObject.</p>
<h3>Quais destes são benefícios de se usar a programação orientada a objetos?</h3>
<p>Vamos lá, essa não era difícil. A única opção errada aqui era &#8220;Maior rapidez e performance na execução&#8221;. Apesar de isso ser discutível de uma forma geral, um mesmo código Orientado a Objetos contra um Procedural irá ter um mínimo de perda de performance. Num conceito global, muitas vezes um sistema inteiro OO é muito mais rápido e leve do que um Procedural, mas, em linhas gerais, OO é mais lento que Procedural.</p>
<p>A resposta correta então era marcar todas as 3 opções que não a &#8220;Maior rapidez e performance na execução&#8221;. Respostas parciais foram tidas como incorretas como em qualquer outra questão.</p>
<h3>A palavra ________ é usada para impedir que sub-classes possam alterar um método?</h3>
<p>Essa também é bem simples. O que podemos fazer para explicitar que determinado método não pode ser modificado pelas classes que herdarem as propriedades e métodos de outra classe? A palavra &#8220;<em>final</em>&#8220;. Repare que essa palavra reservada simplesmente impede que o método seja reescrito, mas não altera em nada as propriedades de visibilidade daquele método. Aliás, qualquer resposta que tenha algo relacionado com visibilidade aqui estava errada.</p>
<p>Portanto a resposta correta é: &#8220;final&#8221;.</p>
<h3>Quais funções seriam necessárias para converter &#8220;i love PHP 5&#8243; em &#8220;5 PHP EVOL I&#8221;?</h3>
<p>Outra mamata para o pessoal. Era só saber quais funções existiam e executá-las para obter o resultado final. A diferença entre a string final e a inicial é que a final está inteira em letras maiúsculas e revertida. A prova de certificação possui diversas questões semelhantes e esta, mostrar nomes de funções a fim de confundir você.</p>
<p>A resposta correta é: <a href="http://www.php.net/strtoupper" target="_blank">strtoupper</a>(), <a href="http://www.php.net/strrev" target="_blank">strrev</a>().</p>
<h3>Considerando este trecho de código (http://pastie.org/1015157), qual será a saída?</h3>
<p>Ok, nossas orelhas arderam. Quase todos tivemos problemas de saúde e passamos por um inferno astral enorme. E todos astrólogos, tarólogos, etc nos falaram que foi por causa desta questão. Vamos lá, ela era chata. Fato. Mas não é tão difícil assim. É só ter paciência e usar a caneta e o papel que você ganha ao entrar na sala para fazer o exame de certificação, não tem choro nem vela. O jeito pra resolver essa é interpretar o código mesmo.</p>
<p>A resposta correta para esta questão é: &#8220;312211&#8243;.</p>
<h3>Quais métodos podem ser usados para evitar o SQL Injection?</h3>
<p>Mais uma questão que vamos comentar item a item:</p>
<ul>
<li>Prepared Statements: Comentamos no PHPSPCast de segurança que eles contribuem contra alguns ataques de SQL Injection e isso é verdade. Eles já procuram escapar todo conteúdo prejudicial ao banco utilizando funções nativas do driver do próprio banco, mas, como qualquer medida de segurança, não deve ser considerada como 100% eficaz e deve ser utilizada em conjunto com outras;</li>
<li>Conexões persistentes: Bom, a vantagem de conexões persistentes é que elas estão sempre disponíveis e a aplicação não vai perder o tempo de abrir a conexão com o banco de novo. Mas você precisa saber como trabalhar com elas. Enfim, não têm nada com questões de segurança;</li>
<li>Unbuffered Queries: Quando usadas, o banco envia os resultados para o PHP assim que o primeiro registro é encontrado e o PHP, por sua vez, não faz um pré-processamento do que está recebendo: ele libera os resultados automaticamente pra uso. Isso economiza memória e é mais rápido. Porém você não pode usar funções que dependam da análise desse resultado, como número de linhas retornado ou ir diretamente para um determinado registro;</li>
</ul>
<p>A resposta portanto para essa questão era: &#8220;Prepared Statementes&#8221;.</p>
<h3>Qual a saída do código: &lt;? echo count (&#8220;123&#8243;) ?&gt;?</h3>
<p>A última das moicanas. E uma bela de uma pegadinha. Qual o detalhe que vocês deveriam ter notado, ou notaram e a pegadinha é tão cretina que nem certo deu: <a href="http://php.net/count" target="_blank">count</a>() serve para contar arrays e objetos iteráveis, ele não é a <a href="http://www.php.net/manual/en/function.strlen.php" target="_blank">strlen</a>(). Ok, e por que ele retorna 1 (um) se nós não passamos nenhum array para a função?</p>
<p>Simples: por esperar um array, o PHP converte automaticamete o valor passado para um; é o mesmo que executar &lt;?php echo count((array) &#8220;123&#8243;); ?&gt;. Experimente dar um var_dump() no lugar do count() e você verá que o resultado é um array de uma posição contendo o valor &#8220;123&#8243;.  Caso você esperava um erro pela falta do &#8220;;&#8221; no final da função, repare o fechamento de tag do PHP. O fechamento de tag implicitamente é encarado como um &#8220;;&#8221; também, tornando-o desnecessário. Sim, fizemos de propósito.</p>
<p>A resposta correta então para última questão é 1 (um).</p>
<h2>O resultado da promoção</h2>
<p>Como falamos, o objetivo da promoção é preparar vocês pra encarar a prova de forma séria, saber lidar com o tempo e com os diferentes tipos de questões que podem surgir, por isso a promoção foi baseada em quem terminava primeiro, para dar este sentimento de estar fazendo a prova com o tempo contra você.</p>
<p>Dito isso, ao longo do tempo tivemos alguns problemas na prova, como um erro de digitação em uma das questões então fomos bem atenciosos ao fato, embora não concordemos com a mentalidade de &#8220;vou procurar um erro&#8221; ao invés de encarar a prova com algo honesto, quem apontou o erro ou foi alertado para sua correção ou foi aceito sua nova resposta antes do prazo de 3h entre cada resposta.</p>
<p>Conforme o combinado iríamos aceitar apenas quem acertasse todas as questões, mas percebemos que fomos extremamente perversos e isso não se tornou realidade, portanto ordenamos por número de acertos, tempo de entrega e consideramos as questões com maiores reclamações, assim, sem mais delongas, aqui estão os vencedores da promoção:</p>
<ol>
<li>Thiago Rigo (ZCE + Livro + php|arch)</li>
<li>Alexandre dos Santos Andrade (ZCE + Livro + php|arch)</li>
<li>Alexandre Gomes Gaigalas (ZFC  + php|arch)</li>
<li>Silvano Girardi Jr. (ZFC  + php|arch)</li>
<li>Luís Otávio Cobucci Oblonczyk (php|arch)</li>
</ol>
<p>Parabéns aos vencedores! Entraremos em contato com vocês para dar andamento na entrega.</p>
<p><strong>Esta promoção contou com o apoio de:<br />
<a href="http://www.zend.com/certification/">Zend</a></strong> <strong> e <a href="http://www.phparch.com">php|arch</a></strong></p>
<p><a href="http://phpsp.org.br/wp-content/uploads/2009/06/zend_logo_color_S.png"><img class="size-thumbnail wp-image-1373 alignleft" title="php|arch" src="http://phpsp.org.br/wp-content/uploads/2010/08/phpa_logo_158x188-150x150.jpg" alt="" width="69" height="69" /><img class="size-full wp-image-610  alignright" title="Zend" src="http://phpsp.org.br/wp-content/uploads/2009/06/zend_logo_color_S.png" alt="" width="149" height="70" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://phpsp.org.br/2010/08/resultado-o-phpspcast-quer-que-voce-se-certifique/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>O PHPSP Pergunta: Qual o tamanho da presença Brasileira em Projetos PHP?</title>
		<link>http://phpsp.org.br/2010/07/o-phpsp-pergunta-qual-o-tamanho-da-presenca-brasileira-em-projetos-php/</link>
		<comments>http://phpsp.org.br/2010/07/o-phpsp-pergunta-qual-o-tamanho-da-presenca-brasileira-em-projetos-php/#comments</comments>
		<pubDate>Wed, 21 Jul 2010 13:32:03 +0000</pubDate>
		<dc:creator>Rafael Dohms</dc:creator>
				<category><![CDATA[Notícias]]></category>
		<category><![CDATA[Pesquisa]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://phpsp.org.br/?p=1355</guid>
		<description><![CDATA[O PHPSP esta interessado em medir e identificar a presença de brasileiros nos mais variados projetos Open Source (ou não) em PHP, projetos como Drupal, phpBB, Joomla, WordPress, Doctrine, CakePHP e diversos outros. Estamos participando deste mercado? e se estamos quais são nossos papéis? Quanta diferença fazemos? Esta pesquisa se encaixa em planos futuros do [...]]]></description>
			<content:encoded><![CDATA[<p>O PHPSP esta interessado em medir e identificar a presença de brasileiros nos mais variados projetos Open Source (ou não) em PHP, projetos como Drupal, phpBB, Joomla, WordPress, Doctrine, CakePHP e diversos outros. Estamos participando deste mercado? e se estamos quais são nossos papéis? Quanta diferença fazemos?</p>
<p>Esta pesquisa se encaixa em planos futuros do PHPSP com nossos parceiros que terão como objetivo melhorar a visibilidade destas pessoas e aproximar elas de nossos parceiros e da comunidade. Então se puder nos dar alguns minutos de sua atenção e preencher o formulário abaixo iremos divulgar esta informação após o final da pesquisa.</p>
<p>Obrigado!<br />
Equipe PHPSP</p>
<p><iframe src="https://spreadsheets.google.com/embeddedform?formkey=dGxJRGlIQmhMamNJVmV0Slc3cGZrSkE6MQ" width="740" height="1223" frameborder="0" marginheight="0" marginwidth="0">Loading&#8230;</iframe></p>
]]></content:encoded>
			<wfw:commentRss>http://phpsp.org.br/2010/07/o-phpsp-pergunta-qual-o-tamanho-da-presenca-brasileira-em-projetos-php/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Call for Papers Relampago: Microsoft Tech Ed</title>
		<link>http://phpsp.org.br/2010/06/call-for-papers-relampago-microsoft-tech-ed/</link>
		<comments>http://phpsp.org.br/2010/06/call-for-papers-relampago-microsoft-tech-ed/#comments</comments>
		<pubDate>Wed, 30 Jun 2010 13:56:54 +0000</pubDate>
		<dc:creator>Rafael Dohms</dc:creator>
				<category><![CDATA[Conference]]></category>
		<category><![CDATA[Eventos]]></category>
		<category><![CDATA[Notícias]]></category>
		<category><![CDATA[Palestras e Seminários]]></category>
		<category><![CDATA[cfp]]></category>
		<category><![CDATA[microsoft]]></category>
		<category><![CDATA[palestra]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[teched]]></category>

		<guid isPermaLink="false">http://phpsp.org.br/?p=1304</guid>
		<description><![CDATA[O PHPSP e a Microsoft firmaram uma parceria para aumentar o conteúdo relacionado a PHP no evento Tech Ed, o maior evento da Microsoft na America Latina , que será realizado este ano em Setembro. Por este motivo o PHPSP esta procurando palestrantes de destaque da comunidade para serem palestrantes do evento. Sua palestra não [...]]]></description>
			<content:encoded><![CDATA[<p>O PHPSP e a Microsoft firmaram uma parceria para aumentar o conteúdo relacionado a PHP no evento <strong><a href="http://www.teched.com.br/2010/">Tech Ed</a></strong>, o maior evento da Microsoft na America Latina , que será realizado este ano em Setembro. Por este motivo o PHPSP esta procurando palestrantes de destaque da comunidade para serem palestrantes do evento.</p>
<p>Sua palestra não precisa ser relacionada as tecnologias Microsoft, embora seja mais interessante esta ligação para o público do evento, veja no <a href="http://www.teched.com.br/2010/">site</a>.</p>
<p>Se você acha que tem uma palestra bacana e quer participar do evento, então mande um email para <strong>palestras@phpsp.org.br</strong> com os seguintes dados:</p>
<p>- Nome / Email<br />
- Mini-Currículo<br />
- Título da palestra<br />
- Descrição da palestra</p>
<p>Mas preste atenção, esta é uma chamada de trabalhos relâmpago, só aceitaremos palestras até <span style="color: #339966;"><strong>Quinta dia 01/07</strong>!</span></p>
]]></content:encoded>
			<wfw:commentRss>http://phpsp.org.br/2010/06/call-for-papers-relampago-microsoft-tech-ed/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>So Long, and Thanks for All the Fish</title>
		<link>http://phpsp.org.br/2010/06/so-long-and-thanks-for-all-the-fish/</link>
		<comments>http://phpsp.org.br/2010/06/so-long-and-thanks-for-all-the-fish/#comments</comments>
		<pubDate>Tue, 29 Jun 2010 13:27:18 +0000</pubDate>
		<dc:creator>Ivan Rosolen</dc:creator>
				<category><![CDATA[Notícias]]></category>
		<category><![CDATA[coordenação]]></category>
		<category><![CDATA[PHPSP]]></category>
		<category><![CDATA[saida]]></category>

		<guid isPermaLink="false">http://phpsp.org.br/?p=1298</guid>
		<description><![CDATA[A partir de hoje não faço mais parte da coordenação do PHPSP. Gostaria de agradecer Rafael Dohms, Anderson Casimiro e Augusto Pascutti por todo esse tempo que pude compartilhar a coordenação com eles. Tivemos bons eventos, conseguimos crescer e ajudar muito a comunidade e tenho plena certeza de que continuarão com o ótimo trabalho. Aprendi [...]]]></description>
			<content:encoded><![CDATA[<p>A partir de hoje não faço mais parte da coordenação do PHPSP.</p>
<p>Gostaria de agradecer Rafael Dohms, Anderson Casimiro e Augusto Pascutti por todo esse tempo que pude compartilhar a coordenação com eles. Tivemos bons eventos, conseguimos crescer e ajudar muito a comunidade e tenho plena certeza de que  continuarão com o ótimo trabalho.</p>
<p>Aprendi muito, cresci muito mas agora preciso seguir outros caminhos.</p>
<p>O PHPSP tem muitos projetos já &#8220;engatilhados&#8221; e espero que tudo dê certo para eles, pois com isso quem ganha é a comunidade!</p>
<p>Nos vemos em eventos por ai….</p>
<p>Abraços,</p>
<p>Ivan Rosolen</p>
]]></content:encoded>
			<wfw:commentRss>http://phpsp.org.br/2010/06/so-long-and-thanks-for-all-the-fish/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
	</channel>
</rss>

