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

<channel>
	<title>PHPMS</title>
	<atom:link href="http://phpms.org/feed/" rel="self" type="application/rss+xml" />
	<link>http://phpms.org</link>
	<description>Grupo de Desenvolvedores PHP de Mato Grosso do Sul</description>
	<lastBuildDate>Fri, 11 May 2012 12:06:16 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>Resultado do 3o Coding Dojo do PHPMS</title>
		<link>http://phpms.org/2012/05/resultado-do-3o-coding-dojo-do-phpms/</link>
		<comments>http://phpms.org/2012/05/resultado-do-3o-coding-dojo-do-phpms/#comments</comments>
		<pubDate>Fri, 11 May 2012 00:52:17 +0000</pubDate>
		<dc:creator>Agripino Duarte</dc:creator>
				<category><![CDATA[DOJO]]></category>

		<guid isPermaLink="false">http://phpms.org/?p=345</guid>
		<description><![CDATA[Foi realizado ontem (9 de maio)  o terceiro coding dojo de php do PHPMS em 2012 e o resultado foi muito bom. Dos 20 inscritos 15 participaram do evento, alguns deles são estudantes dos cursos da Faculdade de Computação da &#8230; <a href="http://phpms.org/2012/05/resultado-do-3o-coding-dojo-do-phpms/">Continuar lendo <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Foi realizado ontem (9 de maio)  o terceiro coding dojo de php do PHPMS em 2012 e o resultado foi muito bom. Dos 20 inscritos 15 participaram do evento, alguns deles são estudantes dos cursos da Faculdade de Computação da UFMS e alguns nunca tinham participado de um dojo antes. O dojo foi apresentado pelo nosso amigo <a href="http://twitter.com/CauanCabral">Cauan</a> e organizado pelo <a href="http://twitter.com/felipevr">Felipe Rigo</a>, que ultimamente tem coordenado os dojos do PHPMS.</p>
<p>Alguns participantes novatos não conheciam a linguagem PHP e tiveram algumas explicações dos participantes que conheciam a linguagem. Para evitar que os iniciantes na linguagem ficassem perdidos, foi combinado que pelo menos um dos que estavam codando (piloto e co-piloto) conhecessem a linguagem PHP, o que ajudou bastante.</p>
<p>O problema proposto foi escolhido por mim no site <a href="http://dojopuzzles.com">http://dojopuzzles.com </a>e tinha o objetivo de retornar um valor monetário por extenso (por exemplo, 15,50 = quinze reais e cinquenta centavos). Foi discutido entre os participantes a abordagem para a solução do problema bem como a definição de algumas regras (limite de valor, uso de inteiro ou string, etc).</p>
<p>Todos participaram na solução do problema que foi no tempo previsto (imprimindo apenas valores inteiros sem centavos).</p>
<p>O resultado já está no <a href="https://github.com/phpms/PHPMS-Dojo">Github do PHPMS.</a> Outras soluções serão aceitas e publicadas no repositório.</p>
<p>&nbsp;</p>
<p>Até o próximo dojo.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://phpms.org/2012/05/resultado-do-3o-coding-dojo-do-phpms/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>10ª PHP News</title>
		<link>http://phpms.org/2012/05/10a-php-news/</link>
		<comments>http://phpms.org/2012/05/10a-php-news/#comments</comments>
		<pubDate>Tue, 08 May 2012 18:01:39 +0000</pubDate>
		<dc:creator>Felipe V. Rigo</dc:creator>
				<category><![CDATA[Bastidores]]></category>

		<guid isPermaLink="false">http://phpms.org/?p=309</guid>
		<description><![CDATA[Sua semana mais antenada! &#160; O que rolou na semana: Mas afinal, o que é Coding Dojo? Últimas vagas p/ DOJO PHP de Maio:  inscreva-se agora! Comparação de Frameworks WEB Falha crítica de segurança é encontrada no PHP OOP: Quando &#8230; <a href="http://phpms.org/2012/05/10a-php-news/">Continuar lendo <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<div>
<p><em>Sua semana mais antenada!</em></p>
<p>&nbsp;</p>
<p>O que rolou na semana:</p>
</div>
<ol>
<li><a href="http://phpms.org/2012/05/o-que-e-coding-dojo/">Mas afinal, o que é Coding Dojo?</a></li>
<li><a href="http://comitiva.phpms.org/divulgacao/3o-dojo-phpms-2012">Últimas vagas p/ DOJO PHP de Maio:  inscreva-se agora!</a></li>
<li><a href="http://blog.thiagobelem.net/comparacao-de-frameworks-web/">Comparação de Frameworks WEB</a></li>
<li><a href="http://imasters.com.br/noticia/24348/php/falha-critica-de-seguranca-e-encontrada-no-php">Falha crítica de segurança é encontrada no PHP</a></li>
<li><a href="http://phpms.org/2012/04/oop-quando-usar-metodos-estaticos/">OOP: Quando usar métodos estáticos</a></li>
<li><a href="http://www.infoq.com/br/news/2012/03/php-sql-server-2012">Liberado suporte ao LocalDB do SQL Server e a clusters do SQL Server &#8216;AlwaysOn&#8217;</a></li>
<li><a href="http://imasters.com.br/artigo/24270/wordpress/como-adicionar-scroll-infinito-a-um-template-wordpress">Como adicionar scroll infinito a um template WordPress</a></li>
<li><a href="http://www.infoq.com/br/articles/exemplo-pratico-php-couch">CouchDB, RESTful e um exemplo prático com PHP</a></li>
</ol>
<div></div>
<p style="text-align: justify;">Vagas:</p>
<ol>
<li><a href="http://www.gestaoativa.com.br/contato/">Gestão Ativa: programador PHP</a></li>
<li><a href="http://jera.com.br/3830/equipe/estamos-contratando-de-novo">Jera:  desenvolvimento para iOS (iPhone e iPad), Android e Web</a></li>
<li><a href="mailto:freelancerweb@yahoo.com.br">Projeto Freelancer PHP</a></li>
</ol>
<p style="text-align: justify;">
<p style="text-align: justify;">Frase mais manjada do mundo:</p>
<p style="text-align: justify; padding-left: 30px;">&#8220;<em>Só existem 10 tipos de pessoas no mundo, as que entendem binário e as que não entendem!</em>&#8221; &#8212; autor desconhecido</p>
]]></content:encoded>
			<wfw:commentRss>http://phpms.org/2012/05/10a-php-news/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>O que é Coding Dojo?</title>
		<link>http://phpms.org/2012/05/o-que-e-coding-dojo/</link>
		<comments>http://phpms.org/2012/05/o-que-e-coding-dojo/#comments</comments>
		<pubDate>Fri, 04 May 2012 13:52:44 +0000</pubDate>
		<dc:creator>Felipe V. Rigo</dc:creator>
				<category><![CDATA[DOJO]]></category>
		<category><![CDATA[Eventos]]></category>
		<category><![CDATA[coding]]></category>
		<category><![CDATA[dojo]]></category>
		<category><![CDATA[habilidades]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[programação]]></category>
		<category><![CDATA[treinamento]]></category>

		<guid isPermaLink="false">http://phpms.org/?p=323</guid>
		<description><![CDATA[Muito tem se falado sobre DOJO no site e na lista, mas afinal o que é o Coding DOJO ? Segundo o http://codingdojo.org/: “Um Coding Dojo é um encontro onde um grupo de programadores se reúne para trabalhar em conjunto em &#8230; <a href="http://phpms.org/2012/05/o-que-e-coding-dojo/">Continuar lendo <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Muito tem se falado sobre DOJO no site e na lista, mas afinal o que é o Coding DOJO ?</p>
<p style="text-align: center;"><a href="http://phpms.org/wp-content/uploads/2012/05/dojomtx.jpg"><img class="aligncenter size-full wp-image-325" title="dojo" src="http://phpms.org/wp-content/uploads/2012/05/dojomtx.jpg" alt="" width="485" height="200" /></a></p>
<p>Segundo o <a href="http://codingdojo.org/">http://codingdojo.org/</a>: “Um Coding Dojo é um encontro onde um grupo de programadores se reúne para trabalhar em conjunto em um desafio de programação. Eles estão lá para se <strong>divertir</strong>, e, através de uma <strong>metodologia pragmática</strong>, melhorar suas <strong>habilidades</strong> de programação e de trabalho em grupo.”</p>
<p>O Coding Dojo tem algumas regras básicas:</p>
<ul>
<li><strong>Desenvolvimento guiado por testes: </strong>Antes de fazer qualquer implementação, deve ser escrito um teste, que ao passar indica que a implementação está correta.</li>
</ul>
<ul>
<li><strong>“Passos de bebê”</strong>: Se um teste não está passando, você deve escrever o código mais simples possível que faça o teste passar. Quando for escrever um novo teste para o mesmo método, escreva um teste que teste só um pouquinho a mais da funcionalidade desejada.</li>
</ul>
<ul>
<li><strong>Pair programming: </strong>A programação é feita em duplas. Cada dupla tem umpiloto e um co-piloto. Ambos pensam em como passar no teste atual, mas só o piloto digita. Cada par tem por volta de 5 a 10 minutos no seu turno. Quando esse tempo acaba:
<ul>
<li>O piloto volta para a platéia</li>
<li>O co-piloto assume o lugar do piloto</li>
<li>Um novo co-piloto vem da platéia</li>
</ul>
</li>
</ul>
<ul>
<li><strong>Todos devem entender: </strong>O piloto e o co-piloto devem sempre explicar em voz alta o que estão tentando fazer para solucionar o problema. Qualquer um na platéia pode pedir explicações se não entender algum raciocínio.</li>
</ul>
<ul>
<li><strong>Três fases: </strong>Um Coding Dojo sempre está em alguma dessas 3 fases, dependendo do estado dos testes:
<ul>
<li><strong>Vermelha: </strong>Pelo menos um teste não está passando. A dupla da vez deve se concentrar em fazer o teste passar. A platéia não deve falar nessa fase, para não atrapalhar piloto e co-piloto.</li>
<li><strong>Verde: </strong>Os testes acabaram de ser rodados e todos estão passando. Essa é a hora de quem está na platéia dar sugestões para melhorar o código.</li>
<li><strong>Cinza: </strong>O código foi modificado de acordo com as sugestões, mas a bateria de testes ainda não foi rodada. Deve-se evitar fazer grandes modificações no código nessa fase.</li>
</ul>
</li>
</ul>
<p>&nbsp;</p>
<p><a href="http://phpms.org/wp-content/uploads/2012/05/DojoElemento.png"><img class="aligncenter size-full wp-image-326" title="Elementos do DOJO" src="http://phpms.org/wp-content/uploads/2012/05/DojoElemento.png" alt="" width="269" height="349" /></a></p>
<p>&nbsp;</p>
<p>O PHPMS tem promovido um Coding DOJO todo mês em uma quarta-feira à noite na FACOM/UFMS. Fique antenado, as inscrições para o próximo Coding DOJO estão disponíveis em:<br />
<a href="http://comitiva.phpms.org"> http://comitiva.phpms.org</a></p>
]]></content:encoded>
			<wfw:commentRss>http://phpms.org/2012/05/o-que-e-coding-dojo/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>9º PHP News</title>
		<link>http://phpms.org/2012/05/9o-php-news/</link>
		<comments>http://phpms.org/2012/05/9o-php-news/#comments</comments>
		<pubDate>Wed, 02 May 2012 12:18:53 +0000</pubDate>
		<dc:creator>Felipe V. Rigo</dc:creator>
				<category><![CDATA[Notícias]]></category>
		<category><![CDATA[news]]></category>
		<category><![CDATA[notícias]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://phpms.org/?p=272</guid>
		<description><![CDATA[&#160; Sua semana mais antenada! &#160; O que rolou na semana: Não perca: DOJO PHPMS dia 9! Conferência brasileira sobre Symfony JavaScriptCast #04 &#8211; vale a pena pagar por ferramentas sofisticadas de desenvolvimento? Encontre as maiores falhas técnicas do seu &#8230; <a href="http://phpms.org/2012/05/9o-php-news/">Continuar lendo <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>&nbsp;</p>
<p><em>Sua semana mais antenada!</em></p>
<p>&nbsp;</p>
<p>O que rolou na semana:</p>
<ol>
<li><a href="http://comitiva.phpms.org/divulgacao/3o-dojo-phpms-2012">Não perca: DOJO PHPMS dia 9!</a></li>
<li><a href="http://www.sfcon.com.br/2012/">Conferência brasileira sobre Symfony</a></li>
<li><a href="http://imasters.com.br/artigo/24180/javascript/javascriptcast-04-vale-a-pena-pagar-por-ferramentas-sofisticadas-de-desenvolvimento">JavaScriptCast #04 &#8211; vale a pena pagar por ferramentas sofisticadas de desenvolvimento?</a></li>
<li><a href="http://imasters.com.br/artigo/24213/metricas/encontre-as-maiores-falhas-tecnicas-do-seu-site-em-60-minutos-parte-02">Encontre as maiores falhas técnicas do seu site em 60 minutos &#8211; Parte 02</a></li>
<li><a href="http://imasters.com.br/noticia/24291/php/php-541-e-php-5311-sao-lancados">PHP 5.4.1 e PHP 5.3.11 são lançados</a></li>
<li><a href="http://imasters.com.br/artigo/24235/desenvolvimento/boas-leituras-para-desenvolvedores">Boas leituras para desenvolvedores</a></li>
<li><a href="http://imasters.com.br/artigo/24242/desenvolvimento/principios-de-test-driven-development-tdd">Princípios de Test Driven Development (TDD)</a></li>
<li>Mais: <a href="http://www.sitepoint.com/deploying-apps-with-phing-php-presentations-virtual-proxies-and-more/">Deploying Apps with Phing, PHP Presentations, Virtual Proxie</a>&#8230; [en]</li>
</ol>
<p>&nbsp;</p>
<p>Vaga de trabalho divulgada na lista:</p>
<p style="padding-left: 30px;"><a href="mailto:bruno@lxtec.com.br" target="_blank">lxtec.com.br</a></p>
<p>&nbsp;</p>
<p>Para descontrair:</p>
<p style="padding-left: 30px;"><a href="http://vidadeprogramador.com.br/2012/04/27/voce-sabe-o-que-e-php/">VidaDeProgramador: Você sabe o que é php ?</a></p>
<p style="padding-left: 30px;">
]]></content:encoded>
			<wfw:commentRss>http://phpms.org/2012/05/9o-php-news/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>OOP: Quando usar métodos estáticos</title>
		<link>http://phpms.org/2012/04/oop-quando-usar-metodos-estaticos/</link>
		<comments>http://phpms.org/2012/04/oop-quando-usar-metodos-estaticos/#comments</comments>
		<pubDate>Mon, 30 Apr 2012 12:29:43 +0000</pubDate>
		<dc:creator>Renan A. Marks</dc:creator>
				<category><![CDATA[Bastidores]]></category>

		<guid isPermaLink="false">http://phpms.org/?p=304</guid>
		<description><![CDATA[Gostaria de saber se é recomendável ou não utilizar classes com métodos estáticos ? Quais os benefícios e contra indicações aos métodos estáticos? &#160; &#160; O conceito de métodos estáticos é bem simples: métodos que realizam procedimentos sem estarem vinculados a um &#8230; <a href="http://phpms.org/2012/04/oop-quando-usar-metodos-estaticos/">Continuar lendo <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p style="padding-left: 30px;"><strong>Gostaria de saber se é recomendável ou não utilizar classes com métodos estáticos ?</strong></p>
<p style="padding-left: 30px;"><strong>Quais os benefícios e contra indicações aos métodos estáticos?</strong></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>O conceito de métodos estáticos é bem simples: métodos que realizam procedimentos <strong>sem estarem vinculados a um objeto.</strong><br />
Como assim? Quando se envia uma<strong> mensagem</strong> a um objeto da classe <strong>Casa</strong>, neste caso <em>$casa-&gt;abraPorta()</em>, o método <strong>abraPorta()</strong> recebe <strong>implicitamente</strong> o objeto<strong> $casa</strong> para alterar seu<strong> estado interno </strong>(que são suas características, atributos). Esse objeto é referenciado pelo operador <strong>$this</strong>. Esse comportamento é chamado de <strong>Acoplamento estático</strong>.</p>
<p>Logo, o método <strong>abraPorta()</strong> sempre será o mesmo, porém receberá <strong>objetos diferentes</strong>, como por exemplo<strong> $casaDoJoao-&gt;abraPorta()</strong> e <strong>$casaDaMaria-&gt;abraPorta()</strong>. Você está enviando a mesma mensagem para objetos diferentes, pertencentes a mesma classe, que serão <em>acoplados</em> ao método abraPorta(). Pode-se ver que métodos normais <strong>precisam necessariamente vinculados a um objeto</strong>.</p>
<p>Quando você declara um método do tipo <strong>estático,</strong> essa obrigatoriedade some, pois o método não irá mais ser acoplado a um objeto. Ele passa a ser um método &#8220;Solto&#8221;, pois como ele não é acoplado a um determinado objeto de uma determinada classe, vc não tem mais a possibilidade de usar o operador <strong>$this</strong>.</p>
<p>Dessa forma, métodos estáticos são métodos que não se acoplam a objetos, mas sim <strong>pertencem a classes</strong>. Como assim? Uma classe é um conjunto de características &#8220;virtuais&#8221;(ou um script) de como se construir um objeto. Métodos normais são declarados dentro das classes, porém trabalham com os dados dos objetos. Métodos estáticos são declarados dentro das classes, mas não há necessidade de se instanciar(concretizar, criar) um objeto para usá-lo.</p>
<p>Portanto, vemos que métodos estáticos são pertencentes à própria classe e independente de objetos. Por isso quando se chama um método estático, é necessário identificar em qual classe ele foi declarado, como por exemplo:</p>
<p>$resultado = Calculo::somar($a , $b);</p>
<p>Ou seja: métodos estáticos devem ser usados para realizar operações que <strong>não tem vínculo</strong> com <strong>objetos</strong>. Em outras palavras, devem ser utilizados em casos onde não haja necessidade de <strong>alterar atributos</strong> de algum objeto. <img src='http://phpms.org/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Aprofundando mais, basicamente existem 2 categorias de métodos: <strong>Método estáticos </strong>(ou de classes) e <strong>métodos comuns</strong>.<br />
Métodos comuns alteram(ou podem alterar) o <strong>estado interno do objeto</strong> ao qual foram acoplados, devido a terem acesso ao operador <strong>$this</strong> internamente. Estes métodos, para implementar o conceito de <strong>Encapsulamento</strong> na orientação a objetos, possuem 4 tipos de visibilidade, porém o PHP &#8212; e outras linguagens &#8212; implementam somente 3 tipos: <strong>privado,</strong> <strong>protegido</strong> e <strong>público</strong>.</p>
<ul>
<li>Um <strong>método privado</strong>(assim como atributos privados) só pode ser acessado(ou seja: só é <strong>visível</strong>) por outros <strong>métodos comuns</strong>dentro da classe;</li>
<li>Um <strong>método protegido</strong>(assim como atributos protegidos) é semelhante ao privado, porém as classes filhas(ou seja: as classes que<strong> herdam as características</strong> da classe pai, ou <strong>derivam</strong> a classe pai) também podem acessar este método. Entretanto ele ainda não pode ser utilizado externamente, como enviar uma mensagem a um objeto em um ponto qualquer de um programa;</li>
<li>Já <strong>método público</strong>(assim como atributos públicos) é liberado geral: pode ser usado tanto dentro como fora da classe, e em todas as outras classes filhas, etc.</li>
</ul>
<p>Os métodos estáticos <strong>compartilham estes mesmos tipos de visibilidade,</strong> seguindo os <strong>mesmos conceitos.</strong> Porém neles não se pode utilizar o operador<strong> $this </strong>que só é criado quando o método é acoplado a um objeto(porém ele não é mais estático).</p>
<p>Dessa forma, vc pode ter muito bem um método <strong>public static function a() {&#8230;} </strong>e outro <strong>private static funcion b() {&#8230;}</strong>. O método a() é estático público e pode ser usado em qualquer da sua aplicação, porém o método b() é estático privado, e só pode ser utilizado dentro da classe na qual ele foi declarado.</p>
<p>Portanto a recomendação é: utilize métodos estáticos somente para funções onde não há necessidade de alterar o estado interno de um objeto. Normalmente métodos estáticos são métodos <strong>auxiliares</strong>, escritos para dar suporte genérico a outros métodos. Um exemplo é um método de ordenação de vetor: ele recebe um vetor como parâmetro e ordena-o, retornando em seguida. Ele pode ser usado em diversos locais, porém não altera o estado interno de nenhum objeto. Logo, ele é um ótimo candidato a se tornar um método estático. <img src='http://phpms.org/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>Qualquer dúvida, só deixar um comentário ou postar na lista. <img src='http://phpms.org/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://phpms.org/2012/04/oop-quando-usar-metodos-estaticos/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>8º PHP News</title>
		<link>http://phpms.org/2012/04/8o-php-news/</link>
		<comments>http://phpms.org/2012/04/8o-php-news/#comments</comments>
		<pubDate>Tue, 24 Apr 2012 17:49:14 +0000</pubDate>
		<dc:creator>Felipe V. Rigo</dc:creator>
				<category><![CDATA[Notícias]]></category>
		<category><![CDATA[news]]></category>
		<category><![CDATA[notícias]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://phpms.org/?p=237</guid>
		<description><![CDATA[Sua semana mais antenada! O que rolou na semana: Inscrições para o próximo Codigo DOJO PHP abertas! PHPCast #4: Brasileiros bem classificados no Prêmio de Inovação em Programação em PHP de 2011 CakePHP: Plugin Locale WordPress corrige problemas de segurança &#8230; <a href="http://phpms.org/2012/04/8o-php-news/">Continuar lendo <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><em>Sua semana mais antenada!</em></p>
<p>O que rolou na semana:</p>
<ol>
<li><a href="http://comitiva.phpms.org/divulgacao/3o-dojo-phpms-2012">Inscrições para o próximo Codigo DOJO PHP abertas!</a></li>
<li><a href="http://imasters.com.br/artigo/24152/php/phpcast-4-brasileiros-bem-classificados-no-premio-de-inovacao-em-programacao-em-php-de-2011">PHPCast #4: Brasileiros bem classificados no Prêmio de Inovação em Programação em PHP de 2011</a></li>
<li><a href="http://phpms.org/2012/04/cakephp-plugin-locale/">CakePHP: Plugin Locale</a></li>
<li><a href="http://imasters.com.br/noticia/24234/wordpress/wordpress-corrige-problemas-de-seguranca-relacionados-ao-upload-de-arquivos">WordPress corrige problemas de segurança relacionados ao upload de arquivos</a></li>
<li><a href="http://imasters.com.br/artigo/24174/metricas/encontre-as-maiores-falhas-tecnicas-do-seu-site-em-60-minutos-parte-01">[SEO] Encontre as maiores falhas técnicas do seu site em 60 minutos &#8211; Parte 01</a></li>
<li>Padrão de projeto de software &#8211; JavaScript: Factory: <a href="http://imasters.com.br/artigo/24086/javascript/padrao-de-projeto-de-software-javascript-factory-parte-01">Parte 1</a> | <a href="http://imasters.com.br/artigo/24090/javascript/padrao-de-projeto-de-software-javascript-factory-parte-02">Parte 2</a></li>
<li><a href="http://imasters.com.br/artigo/24162/desenvolvimento/um-orm-ruim-e-infinitamente-pior-do-que-uma-sql-ruim">Um ORM ruim é infinitamente pior do que uma SQL ruim</a></li>
<li><a href="http://www.portalphp.org/artigos/configurando-ambiente-de-desenvolvimento-em-php-no-linux">Configurando Ambiente de Desenvolvimento em PHP no Linux</a></li>
</ol>
<p>Vagas de trabalho divulgadas na lista:</p>
<ol>
<li><a href="mailto:lelinformatica@lelinformatica.com.br">Programador PHP 1</a></li>
<li><a href="http://www.trinitybrasil.com.br/">Programador Android e iPhone</a></li>
<li><a href="http://intersite.com.br/">Suporte Técnico / Estágio</a></li>
</ol>
<p>&nbsp;</p>
<p>Curta mais manchetes no seu próximo PHP News, sua atualização semanal de manchetes….</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://phpms.org/2012/04/8o-php-news/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CakePHP: Plugin Locale</title>
		<link>http://phpms.org/2012/04/cakephp-plugin-locale/</link>
		<comments>http://phpms.org/2012/04/cakephp-plugin-locale/#comments</comments>
		<pubDate>Thu, 19 Apr 2012 18:23:33 +0000</pubDate>
		<dc:creator>Cauan Cabral</dc:creator>
				<category><![CDATA[Artigos]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[phpms]]></category>

		<guid isPermaLink="false">http://cauancabral.net/?p=287</guid>
		<description><![CDATA[Vamos falar um pouco sobre outro plugin para CakePHP que surgiu no coração da Radig: o Locale. Meu amigo José Agripino já apresentou o plugin no próprio blog da Radig, mas como reescrevi quase que totalmente o plugin nos últimos &#8230; <a href="http://cauancabral.net/2012/04/18/cakephp-plugin-locale/">Continue reading <span>&#8594;</span></a> <a href="http://phpms.org/2012/04/cakephp-plugin-locale/">Continuar lendo <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Vamos falar um pouco sobre outro plugin para <a title="CakePHP Framework" href="http://cakephp.org" onclick="pageTracker._trackPageview('/outgoing/cakephp.org?referer=');">CakePHP</a> que surgiu no coração da <a title="Radig Soluções em TI" href="http://radig.com.br" onclick="pageTracker._trackPageview('/outgoing/radig.com.br?referer=');">Radig</a>: o <a title="CakePHP Plugin Locale" href="https://github.com/radig/locale" onclick="pageTracker._trackPageview('/outgoing/github.com/radig/locale?referer=');">Locale</a>.</p>
<p>Meu amigo <a title="Blog do grande José Agripino Duarte" href="http://agripinoduarte.radig.com.br/" onclick="pageTracker._trackPageview('/outgoing/agripinoduarte.radig.com.br/?referer=');">José Agripino</a> já apresentou o plugin no próprio <a title="Plugin Locale para localização de datas e moedas" href="http://www.radig.com.br/2011/01/29/cakephp-plugin-locale-para-localizacao-de-datas-e-moeda/" onclick="pageTracker._trackPageview('/outgoing/www.radig.com.br/2011/01/29/cakephp-plugin-locale-para-localizacao-de-datas-e-moeda/?referer=');">blog da Radig</a>, mas como reescrevi quase que totalmente o plugin nos últimos dias, acredito ser a hora de falar dele novamente.</p>
<p>Nada melhor para ver a utilidade de algo como imaginar uma situação de uso real, então vamos lá&#8230;</p>
<p>Cenário 1: você desenvolve um sistema para brasileiros, e quer permitir a entrada de informações em formato local, isto é, datas com dia/mês/ano e números com vírgula separando decimais. O problema é que estes dados são inválidos em um banco de dados convencional (como MySQL e PostgreSQL). Ao tentar salvar uma data formatada com dia/mês/ano você receberá um erro como resposta. Como resolver isso? Use o behavior Locale no seu modelo.</p>
<p>Basta adicionar o behavior Locale no modelo que ele fará a conversão de datas e números para o formato americano.</p>
<pre>public $actsAs = array('Locale.Locale');</pre>
<p>É possível converter automaticamente datas, datas acompanhadas de horas e decimais/floats.</p>
<p>Cenário 2: você já tem os dados do seu usuário armazenados no banco (formato padrão/americano) e quer apresenta-los em um formato local na sua View, o que fazer? Use o Helper Locale em sua view. Primeiro ative o helper no seu controller:</p>
<pre>public $helpers = array('Locale.Locale');</pre>
<p>Agora basta usa-lo na view:</p>
<pre>echo $this-&gt;Locale-&gt;date($this-&gt;data['User']['birthday']);</pre>
<p>É possível formatar data, data com hora, data literal (quarta-feira 18 de abril de 2012, por exemplo), decimais como 53,42 e valores monetários ( R$ 53,42 ).</p>
<p>Além do Behavior e do Helper, você pode carregar as libs Localize e Unlocalize em qualquer parte de seu sistema para converter entre os dois diferentes formatos. As libs são estáticas e suportam aninhamento de método, assim você pode fazer:</p>
<pre>echo Localize::setLocale('pt_BR')-&gt;decimal(12.45); // 12,45</pre>
<p>A unica configuração necessária é a definição do locale de sua aplicação, que pode ser feito no próprio bootstrap.php do Cake:</p>
<pre>setlocale(LC_ALL, 'pt_BR');</pre>
<p>Assim como outros plugins da Radig, você pode consultar os <a title="Testes do branche 2.0 do Locale" href="https://github.com/radig/locale/tree/2.0/Test" onclick="pageTracker._trackPageview('/outgoing/github.com/radig/locale/tree/2.0/Test?referer=');">testes incluídos</a> para ver melhor o funcionamento deste.</p>
<p>Se for utilizar, nos avise, será uma grande satisfação ver que o plugin é util para outros.</p>
<p>Há uma versão compatível com o CakePHP 1.3 e outra com o CakePHP 2.x, basta usar o branch correspondente.</p>
<div id="crp_related"><h3>Outros posts que podem interessar:</h3><ul><li><a href="http://cauancabral.net/2008/12/12/3f-ferias-da-faculdade-finalmente/" rel="bookmark" class="crp_title">3F: Férias da Faculdade, Finalmente.</a></li><li><a href="http://cauancabral.net/2012/03/25/cakephp-plugin-auditable/" rel="bookmark" class="crp_title">CakePHP: Plugin Auditable</a></li><li><a href="http://cauancabral.net/2012/03/21/html5-problemas-com-input-typenumber/" rel="bookmark" class="crp_title">HTML5: Problemas com Input type=&#8221;number&#8221;</a></li><li><a href="http://cauancabral.net/2010/04/11/obrigado-pelos-peixes-svn/" rel="bookmark" class="crp_title">Obrigado pelos peixes SVN</a></li><li><a href="http://cauancabral.net/2012/03/22/cakephp-acl-problema-com-acos-duplicados/" rel="bookmark" class="crp_title">[CakePHP] Acl: Problema com Acos &#8220;duplicados&#8221;</a></li></ul></div>]]></content:encoded>
			<wfw:commentRss>http://phpms.org/2012/04/cakephp-plugin-locale/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PHP News 7ª Ed</title>
		<link>http://phpms.org/2012/04/php-news-7a-ed/</link>
		<comments>http://phpms.org/2012/04/php-news-7a-ed/#comments</comments>
		<pubDate>Wed, 18 Apr 2012 12:29:05 +0000</pubDate>
		<dc:creator>Felipe V. Rigo</dc:creator>
				<category><![CDATA[Notícias]]></category>
		<category><![CDATA[news]]></category>
		<category><![CDATA[notícias]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://phpms.org/?p=229</guid>
		<description><![CDATA[Sua semana mais antenada! Quer ver os posts do seu blog aqui ? Entre em contato !  O que rolou na semana: PHP é inseguro? MySQL 5.6.2 introduz a interface NoSQL Aprenda HTML, CSS e Javascript gratuitamente [en] Como criar &#8230; <a href="http://phpms.org/2012/04/php-news-7a-ed/">Continuar lendo <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><em>Sua semana mais antenada!</em></p>
<p><strong>Quer ver os posts do seu blog aqui ?</strong> Entre em contato !</p>
<div> O que rolou na semana:</div>
<ol>
<li><a href="http://cezarluiz.com.br/290/php-e-inseguro/">PHP é inseguro?</a></li>
<li><a href="http://imasters.com.br/noticia/24168/mysql/mysql-562-introduz-a-interface-nosql">MySQL 5.6.2 introduz a interface NoSQL</a></li>
<li><a href="http://www.codecademy.com">Aprenda HTML, CSS e Javascript gratuitamente</a> [en]</li>
<li><a href="http://imasters.com.br/artigo/24131/desenvolvimento/como-criar-um-modulo-de-magento">Como criar um módulo de Magento</a></li>
<li><a href="http://imasters.com.br/perfil/buscape_developer">Como navegar entre as páginas de resultados de ofertas [API Buscapé]</a></li>
<li><a href="http://imasters.com.br/artigo/24102/wordpress/novos-hacks-para-usar-no-painel-de-administracao-do-wordpress">Novos hacks para usar no painel de administração do WordPress</a></li>
<li><a href="http://imasters.com.br/noticia/24158/software-livre/microsoft-inaugura-divisao-de-projetos-open-source">Microsoft inaugura divisão de projetos open source</a></li>
<li><a href="http://www.devdb.com.br/desenvolvimento/php/listando-apenas-sub-categorias-de-uma-determinada-categoria-no-wordpress">Listando apenas sub-categorias de uma determinada categoria no WordPress</a></li>
</ol>
<p>&nbsp;</p>
<p>Piada da semana:</p>
<p style="padding-left: 30px;">Execute o seguinte código javascript e veja o que acontece:</p>
<pre style="padding-left: 30px;">Array(16).join( 'hero'-1) + "Batman";</pre>
<p>&nbsp;</p>
<p>Curta mais manchetes no seu próximo PHP News, sua atualização semanal de manchetes….</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://phpms.org/2012/04/php-news-7a-ed/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>PHP News 6ª Ed.</title>
		<link>http://phpms.org/2012/04/php-news-6a-ed/</link>
		<comments>http://phpms.org/2012/04/php-news-6a-ed/#comments</comments>
		<pubDate>Thu, 12 Apr 2012 12:49:35 +0000</pubDate>
		<dc:creator>Felipe V. Rigo</dc:creator>
				<category><![CDATA[Notícias]]></category>
		<category><![CDATA[news]]></category>
		<category><![CDATA[notícias]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://phpms.org/?p=204</guid>
		<description><![CDATA[Sua semana mais antenada!  O que rolou na semana: Site do PHPMS ganha novo layout Veja como foi o 2º DOJO do PHPMS Rolagem infinita: técnica de paginação com jQuery e PHP Criando links amigáveis e rastreáveis utilizando AJAX pushState() Como será o &#8230; <a href="http://phpms.org/2012/04/php-news-6a-ed/">Continuar lendo <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Sua semana mais antenada!</p>
<div> O que rolou na semana:</div>
<ol>
<li><a href="http://www.phpms.org">Site do PHPMS ganha novo layout</a></li>
<li><a href="http://phpms.org/2012/04/resultado-2o-coding-dojo-de-2012/">Veja como foi o 2º DOJO do PHPMS</a></li>
<li><a href="http://imasters.com.br/artigo/24034/jquery/rolagem-infinita-tecnica-de-paginacao-com-jquery-e-php">Rolagem infinita: técnica de paginação com jQuery e PHP</a></li>
<li><a href="http://imasters.com.br/artigo/24068/metricas/criando-links-amigaveis-e-rastreaveis-utilizando-ajax-pushstate">Criando links amigáveis e rastreáveis utilizando AJAX pushState()</a></li>
<li><a href="http://imasters.com.br/artigo/24042/desenvolvimento/como-sera-o-futuro-dos-desenvolvedores">Como será o futuro dos desenvolvedores?</a></li>
<li><a href="http://blog.thiagobelem.net/criando-um-tema-para-wordpress/">Criando um tema para WordPress</a></li>
<li><a href="http://www.temporealeventos.com.br/?area=213-php-basico-comecando-com-o-pe-direito-aprenda-php-do-jeito-certo-">PHP Básico &#8211; Aprenda a programar do jeito certo!</a></li>
<li><a href="http://temporealeventos.blogspot.com.br/2012/04/podcast-entrevista-com-er-galvao-sobre.html">Entrevista com Er Galvão sobre o PHP no mercado Brasileiro e o PHP para Iniciantes</a></li>
<li><a href="http://www.bitabit.eng.br/2012/04/02/ativando-o-php-no-mac-os-x/">Ativando o PHP no Mac OS X</a></li>
</ol>
<p>&nbsp;</p>
<p>Vagas de trabalho:</p>
<ol>
<li><a href="http://www.netcarreiras.com.br/vaga-programador-php-zend-53628.html">Programador PHP ZEND &#8211; SP</a></li>
<li><a href="http://ongdarute.blogspot.com.br/2012/04/barueri-sp-programador-php.html">Vaga Em Barueri</a></li>
<li><a href="http://emprego.sapo.pt/emprego/anuncio/701394/programador-php.htm">Vaga em Portugal</a></li>
</ol>
<p>&nbsp;</p>
<p>Curta mais manchetes no seu próximo PHP News, sua atualização semanal de manchetes….</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://phpms.org/2012/04/php-news-6a-ed/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Resultado 2º Coding DOJO de 2012</title>
		<link>http://phpms.org/2012/04/resultado-2o-coding-dojo-de-2012/</link>
		<comments>http://phpms.org/2012/04/resultado-2o-coding-dojo-de-2012/#comments</comments>
		<pubDate>Wed, 11 Apr 2012 11:33:24 +0000</pubDate>
		<dc:creator>Felipe V. Rigo</dc:creator>
				<category><![CDATA[DOJO]]></category>

		<guid isPermaLink="false">http://phpms.org/?p=208</guid>
		<description><![CDATA[Este segundo DOJO foi mais calmo, com menos participantes, talvez devido ao feriado prolongado. Tivemos uma boa interação entre os participantes e o desafio proposto foi interessante. O desafio era criar um array com todos os anagramas de uma palavra &#8230; <a href="http://phpms.org/2012/04/resultado-2o-coding-dojo-de-2012/">Continuar lendo <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Este segundo DOJO foi mais calmo, com menos participantes, talvez devido ao feriado prolongado.</p>
<div></div>
<div>Tivemos uma boa interação entre os participantes e o desafio proposto foi interessante.</div>
<div></div>
<div>O desafio era criar um array com todos os anagramas de uma palavra de 3 letras sem permitir repetições no caso de ter duas ou mais letras iguais. Sabendo que a quantidade de anagramas (permutações) é igual a n!</div>
<div></div>
<div>Nos testes com PHPUnit a ordem do Array influencia, então para os testes resolvemos ordenar os arrays.</div>
<div></div>
<div>Infelizmente tivemos um problema com o computador, então não pudemos finalizar o código, mas fizemos na mão e depois testamos a saída em outro computador sem PHPUnit.</div>
<div></div>
<div>A solução próxima obtida foi um algoritmo percorrendo o array de forma parecida ao Bubble Sort para tentar trocar todos os caracteres de lugar e depois usar array_unique para garantir que não houvessem repetições (<a href="http://codepad.org/1GSoO3wF" target="_blank">http://codepad.org/1GSoO3wF</a>)</div>
<div></div>
<div>A solução que encontrei, de forma iterativa e seguindo a proposta inicial que tivemos é <a href="http://codepad.org/0QzWr8GN" target="_blank">http://codepad.org/0QzWr8GN</a> <wbr>(teste <a href="http://codepad.org/dG3B4U4o" target="_blank">http://codepad.org/<wbr>dG3B4U4o</wbr></a>), porém este algoritmo funciona bem com até 3 letras, mas é insuficiente para entradas com 4 ou mais letras.</wbr></div>
<div></div>
<div>Solução do José Agripino:  <a href="https://github.com/agripinoduarte/Anagrams" target="_blank">https://github.<wbr>com/agripinoduarte/Anagrams</wbr></a></div>
<div></div>
<div>
<div>As fotos do dojo no google+:</div>
<div><a href="https://plus.google.com/photos/101381900054085098262/albums/5728319001915409217?hl=pt-BR" target="_blank">https://plus.google.com/<wbr>photos/101381900054085098262/<wbr>albums/5728319001915409217?hl=<wbr>pt-BR</wbr></wbr></wbr></a></div>
</div>
<div></div>
<div>Retrospectiva do DOJO:</div>
<div></div>
<div>Pontos Bons:</div>
<div>- Interação</div>
<div></div>
<div>Pontos Ruins</div>
<div>- PC &#8220;muito quente&#8221; (notebook travou durante o DOJO)</div>
<div>- não teve lanche</div>
<div>- faltou um mapa ensinando a chegar na sala da FACOM</div>
<div>- não chegamos a uma solução</div>
<div>- sem internet na sala</div>
<div></div>
<div>Sugestões:</div>
<div>- verificar feriados com antecedencia</div>
<div>- fazer algum método de confirmação de presença no dia</div>
]]></content:encoded>
			<wfw:commentRss>http://phpms.org/2012/04/resultado-2o-coding-dojo-de-2012/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Page Caching using disk: enhanced

Served from: phpms.org @ 2012-05-18 03:13:21 -->
