<?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>PHP Amazonas</title>
	<atom:link href="http://www.phpam.com/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.phpam.com/blog</link>
	<description>Comunidade de desenvolvedores PHP do Amazonas</description>
	<lastBuildDate>Fri, 30 Apr 2010 04:21:44 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>PHP-AM no FLISOL 2010</title>
		<link>http://www.phpam.com/blog/2010/04/29/php-am-no-flisol-2010/</link>
		<comments>http://www.phpam.com/blog/2010/04/29/php-am-no-flisol-2010/#comments</comments>
		<pubDate>Thu, 29 Apr 2010 23:02:15 +0000</pubDate>
		<dc:creator>Daniel Martins</dc:creator>
				<category><![CDATA[comunidade]]></category>
		<category><![CDATA[flisol2010]]></category>
		<category><![CDATA[php-am]]></category>

		<guid isPermaLink="false">http://www.phpam.com/blog/?p=129</guid>
		<description><![CDATA[Sábado passado o grupo PHP-AM esteve no FLISOL 2010 em Manaus. Realizamos o primeiro encontro do grupo em um evento, pena que poucos dos cadastrados na lista de discussão apareceram. Mas pelo menos acreditamos que conseguimos convidar novos participantes, e muitas pessoas se mostraram interessadas em saber mais informações sobre a linguagem e o grupo.
E [...]]]></description>
			<content:encoded><![CDATA[<p>Sábado passado o grupo PHP-AM esteve no FLISOL 2010 em Manaus. Realizamos o primeiro encontro do grupo em um evento, pena que poucos dos cadastrados na lista de discussão apareceram. Mas pelo menos acreditamos que conseguimos convidar novos participantes, e muitas pessoas se mostraram interessadas em saber mais informações sobre a linguagem e o grupo.</p>
<p>E também ministramos um mini-curso, tivemos muitos imprevistos nos laboratórios e portanto atrasou em 1 hora o início do mini-curso e no final tivemos o fim do mini-curso adiantado em 15 minutos, de fato tivemos apenas 45 minutos úteis. E por isso gostaríamos de deixar aqui registrado nossas desculpas aos participantes por esse imprevisto.</p>
<p>Mas acredito que pelo menos quem não sabia nada de web, saiu sabendo pelo menos um pouquinho. No mínimo sabendo o que precisa estudar para então correr atrás do conhecimento. E novamente os convidamos para participar do grupo afim de podermos nos ajudar a construir um grupo forte e representativo. <img src='http://www.phpam.com/blog/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p>Para o mini-curso produzimos uma aplicação simples mostrando conceitos básicos de web e arquitetura em 3 camadas(MVC), que pode muito bem ser utilizado para produzirem suas próprias aplicações, código cujo nome é <strong>Guira</strong>, que significa pássaro em tupi-guarani, porque inicialmente era uma aplicação que iria acessar o twitter para twittar e consultar timelines e fazer pesquisas, algo meramente demonstrativo, porém tivemos um imprevisto de no local do evento não permitir o acesso ao twitter, e por ser um tanto burocrático a liberação mesmo que por poucas horas, decidimos fazer outra aplicação para não termos que depender de outras pessoas.</p>
<p>O código do <strong>Guira</strong> encontra-se no github:</p>
<ul>
<li><a href="http://github.com/phpam/guira" target="_blank">http://github.com/phpam/guira</a></li>
</ul>
<p>Abaixo algumas fotos da participação do PHP-AM no FLISOL 2010:</p>
<p><a href="http://www.phpam.com/blog/wp-content/uploads/2010/04/20100424_016.jpg"><img class="aligncenter size-medium wp-image-130" title="PHP-AM" src="http://www.phpam.com/blog/wp-content/uploads/2010/04/20100424_016-300x225.jpg" alt="" width="300" height="225" /></a><a href="http://www.phpam.com/blog/wp-content/uploads/2010/04/20100424_015.jpg"><img class="aligncenter size-medium wp-image-131" title="PHP-AM" src="http://www.phpam.com/blog/wp-content/uploads/2010/04/20100424_015-300x225.jpg" alt="" width="300" height="225" /></a><a href="http://www.phpam.com/blog/wp-content/uploads/2010/04/20100424_017.jpg"><img class="aligncenter size-medium wp-image-132" title="20100424_017" src="http://www.phpam.com/blog/wp-content/uploads/2010/04/20100424_017-300x225.jpg" alt="" width="300" height="225" /></a><a href="http://www.phpam.com/blog/wp-content/uploads/2010/04/24042010893.jpg"><img class="aligncenter size-medium wp-image-133" title="Oficina" src="http://www.phpam.com/blog/wp-content/uploads/2010/04/24042010893-300x225.jpg" alt="" width="300" height="225" /></a></p>
<p>As pessoas do grupo que estavam participando ativamente foram:</p>
<ul>
<li>Moacir Oliveira</li>
<li>Rodrigo Rezende</li>
<li>Daniel Martins</li>
<li>Jônatas Pedraza</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.phpam.com/blog/2010/04/29/php-am-no-flisol-2010/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>FLISOL 2010</title>
		<link>http://www.phpam.com/blog/2010/04/22/flisol-2010/</link>
		<comments>http://www.phpam.com/blog/2010/04/22/flisol-2010/#comments</comments>
		<pubDate>Thu, 22 Apr 2010 13:59:27 +0000</pubDate>
		<dc:creator>Daniel Martins</dc:creator>
				<category><![CDATA[comunidade]]></category>

		<guid isPermaLink="false">http://www.phpam.com/blog/?p=124</guid>
		<description><![CDATA[
O FLISoL é um evento realizado em toda América Latina com o intuito de divulgar o Software Livre e mostrar alternativas livres a softwares proprietários, através de palestras, minicursos e installfest.
Em Manaus, o evento é organizado pelo Projeto Software Livre Amazonas, em conjunto com a Comunidade Software Livre, sendo patrocinado pela UniNorte e apoiado pelo [...]]]></description>
			<content:encoded><![CDATA[<p><img class="aligncenter" title="FLISOL 2010" src="http://am.softwarelivre.org/flisol/wp-content/themes/blue-flisol-theme/images/Header.jpg" alt="" width="936" height="269" /></p>
<p>O FLISoL é um evento realizado em toda América Latina com o intuito de divulgar o Software Livre e mostrar alternativas livres a softwares proprietários, através de palestras, minicursos e installfest.</p>
<p>Em Manaus, o evento é organizado pelo Projeto Software Livre Amazonas, em conjunto com a Comunidade Software Livre, sendo patrocinado pela UniNorte e apoiado pelo Projeto Zagaia, SysV Soluções Open Source e Amazon Print.</p>
<p>Esse ano ocorre no dia 24 de abril.</p>
<p>O PHP-AM estará no evento ajudando na organização e realizando um encontro do grupo php-am com uma palestra e ministrando e um mini-curso(oficina php). Não deixe de participar.</p>
<p>Saiba mais no site do evento: <a href="http://am.softwarelivre.org/flisol">http://am.softwarelivre.org/flisol</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.phpam.com/blog/2010/04/22/flisol-2010/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ata da Reunião (14-11-09)</title>
		<link>http://www.phpam.com/blog/2009/11/14/ata-da-reuniao-14-11-09/</link>
		<comments>http://www.phpam.com/blog/2009/11/14/ata-da-reuniao-14-11-09/#comments</comments>
		<pubDate>Sun, 15 Nov 2009 03:28:05 +0000</pubDate>
		<dc:creator>Nona</dc:creator>
				<category><![CDATA[comunidade]]></category>
		<category><![CDATA[reunião]]></category>

		<guid isPermaLink="false">http://www.phpam.com/blog/?p=116</guid>
		<description><![CDATA[Reunião (14/11/2009)
Membros Confirmados
Heitor Ferreira
Daniel Martins
Moacir de Oliveira
Luciano Antony
Marcelo Pinheiro
Jônatas Isvi
Rodrigo Rezende

Membros Presentes
Heitor Ferreira
Daniel Martins
Moacir de Oliveira
Jônatas Isvi
Rodrigo Rezende
Novos Membros
Daniel Bruno
Edgar
Pauta
1 &#8211; Status das atividades elaboradas na última reunião do grupo
2 &#8211; Primeiro projeto do grupo PHP-AM
Mais informações:
http://groups.google.com/group/php_am/browse_thread/thread/4f449c44f6742bc4
]]></description>
			<content:encoded><![CDATA[<p>Reunião (14/11/2009)</p>
<p>Membros Confirmados</p>
<p>Heitor Ferreira<br />
Daniel Martins<br />
Moacir de Oliveira<br />
Luciano Antony<br />
Marcelo Pinheiro<br />
Jônatas Isvi<br />
Rodrigo Rezende</p>
<p><span id="more-116"></span></p>
<p>Membros Presentes</p>
<p>Heitor Ferreira<br />
Daniel Martins<br />
Moacir de Oliveira<br />
Jônatas Isvi<br />
Rodrigo Rezende</p>
<p>Novos Membros</p>
<p>Daniel Bruno<br />
Edgar</p>
<p>Pauta</p>
<p>1 &#8211; Status das atividades elaboradas na última reunião do grupo</p>
<p>2 &#8211; Primeiro projeto do grupo PHP-AM</p>
<p>Mais informações:</p>
<p><a href="http://groups.google.com/group/php_am/browse_thread/thread/4f449c44f6742bc4">http://groups.google.com/group/php_am/browse_thread/thread/4f449c44f6742bc4</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.phpam.com/blog/2009/11/14/ata-da-reuniao-14-11-09/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ata da Reunião (31-10-09)</title>
		<link>http://www.phpam.com/blog/2009/10/31/ata-da-reuniao-31-10-09/</link>
		<comments>http://www.phpam.com/blog/2009/10/31/ata-da-reuniao-31-10-09/#comments</comments>
		<pubDate>Sun, 01 Nov 2009 06:55:19 +0000</pubDate>
		<dc:creator>Nona</dc:creator>
				<category><![CDATA[comunidade]]></category>
		<category><![CDATA[reunião]]></category>

		<guid isPermaLink="false">http://www.phpam.com/blog/?p=89</guid>
		<description><![CDATA[Reunião (31/10/2009)
Participantes
* Moacir
* Heitor Ferreira (heitorFerreira)
* Jônatas Isvi (nona)
* Rodrigo Rezende (roudrik)
* Daniel Elias (vobiscum)

Pauta
PHP-AM (Organização do grupo e distribuição de tarefas)
Foram discutidos alguns tópicos relevantes para a organização do grupo, alguns deles:
* Blog
* Moderação da Lista de discussão
* Atividades em conjunto com o PHPBR
* Imprensa
A data de cumprimento das tarefas esta marcada para o [...]]]></description>
			<content:encoded><![CDATA[<p>Reunião (31/10/2009)</p>
<p>Participantes</p>
<p>* Moacir<br />
* Heitor Ferreira (heitorFerreira)<br />
* Jônatas Isvi (nona)<br />
* Rodrigo Rezende (roudrik)<br />
* Daniel Elias (vobiscum)</p>
<p><span id="more-89"></span></p>
<p>Pauta</p>
<p>PHP-AM (Organização do grupo e distribuição de tarefas)<br />
Foram discutidos alguns tópicos relevantes para a organização do grupo, alguns deles:<br />
* Blog<br />
* Moderação da Lista de discussão<br />
* Atividades em conjunto com o PHPBR<br />
* Imprensa<br />
A data de cumprimento das tarefas esta marcada para o mês de Dezembro.<br />
A cada 15 dias haverá uma reunião do grupo para acertos das tarefas realizadas.<br />
Locais e datas das reuniões serão informados pela equipe de imprensa.</p>
<p>Mais informações:</p>
<p><a title="Lista de Discussão" href="http://groups.google.com/group/php_am/browse_thread/thread/dcde527a94b2d72b" target="_blank">http://groups.google.com/group/php_am/browse_thread/thread/dcde527a94b2d72b</a></p>
<div style="overflow: hidden; width: 1px; height: 1px;">Reunião (31/10/2009)</p>
<p>Participantes</p>
<p>* Moacir<br />
* Heitor Ferreira (heitorFerreira)<br />
* Jônatas Isvi (nona)<br />
* Rodrigo Rezende (roudrik)<br />
* Daniel Elias (vobiscum)</p>
<p>Pauta</p>
<p>PHP-AM (Organização do grupo e distribuição de tarefas)<br />
Foram discutidos alguns tópicos relevantes para a organização do grupo, alguns deles:<br />
* Blog<br />
* Moderação da Lista de discussão<br />
* Atividades em conjunto com o PHPBR<br />
* Imprensa<br />
A data de cumprimento das tarefas esta marcada para o mês de Dezembro.<br />
A cada 15 dias haverá uma reunião do grupo para acertos das tarefas realizadas.<br />
Locais e datas das reuniões serão informados pela equipe de imprensa.</p>
<p>BLOG</p>
<p>Ficou decidido pelos participantes que o blog passará por um processo de modificação do layout.<br />
Foram definidas algumas categorias como; contatos, membros, artigos, notícias, parceiros e jobs.<br />
O blog terá alguns revisores de conteúdo dos artigos e notícias, e também algumas filtragens<br />
de conteúdo.<br />
Qualquer pessoa participante do grupo pode ser um escritor, mas antes seu post deve passar pelas<br />
mãos de um revisor para então ser postado no blog oficial do phpam.</p>
<p>Responsável pela modificação do layout: Heitor Ferreira (heitorFerreira)</p>
<p>MODERAÇÃO DA LISTA DE DISCUSSÃO</p>
<p>A partir de hoje a lista passará a ser moderada.<br />
Todo conteúdo será filtrado para evitar spam, assuntos OFF-TOPIC, discriminação, assuntos irrelevantes<br />
e assuntos já discutidos na lista.<br />
Os moderadores serão responsáveis por analisar assuntos relevantes que serão abordados na própria lista e<br />
aprová-los como possíveis conteúdos de um artigo para o blog.<br />
Algumas dicas serão passadas a todos os membros para uma melhor utilização da lista de discussão.</p>
<p>Responsáveis pela moderação da lista:<br />
Rodrigo Rezende (roudrik)<br />
Jônatas Isvi (nona)<br />
Daniel Elias (vobiscum)</p>
<p>Responsável pela Netiqueta: Moacir<br />
Responsável pelos filtros de conteúdo: Jônatas Isvi (nona)</p>
<p>ATIVIDADES EM CONJUNTO COM O PHPBR</p>
<p>Ficou decidido que o grupo PHPAM estreitará seus laços com o grupo PHPBR, tentando assim contribuir com projetos,<br />
submissão de paletras para eventos nacionais e organizar eventos locais do PHP.</p>
<p>Responsável pela diplomacia: Moacir</p>
<p>IMPRENSA</p>
<p>Ficou decidido a criação de um grupo de imprensa do phpam, sendo este responsável por questões de<br />
divulgação. Toda e qualquer divulgação relevante ao grupo phpam.<br />
Usando os meios que possuimos hoje como; lista de email, irc, twitter (será criado) e blog.<br />
O grupo de imprensa também fará a ponte com o PSL-AM, registrando assim todas as atas de reuniões,<br />
programação de eventos e outros.<br />
O grupo também será responsável por promover palestras locais, eventos e reuniões.<br />
E será responsável pela cobertura dos eventos, reuniões, palestras e outros.<br />
A equipe de imprensa será responsável pela moderação dos parceiros do grupo phpam (planet).<br />
Serão criados banners para divulgação do grupo phpam.</p>
<p>Responsável pela imprensa: Jônatas Isvi (nona)<br />
Responsável pelos banners: Rodrigo Rezende (roudrik)</p>
<p>Canal no IRC e Lista de discussão</p>
<p>#php-am (Freenode)<br />
php_am@googlegroups.com</p></div>
]]></content:encoded>
			<wfw:commentRss>http://www.phpam.com/blog/2009/10/31/ata-da-reuniao-31-10-09/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Renderizando o Manual do PHP com o PhD</title>
		<link>http://www.phpam.com/blog/2009/10/19/renderizando-o-manual-do-php-com-o-phd/</link>
		<comments>http://www.phpam.com/blog/2009/10/19/renderizando-o-manual-do-php-com-o-phd/#comments</comments>
		<pubDate>Tue, 20 Oct 2009 00:15:00 +0000</pubDate>
		<dc:creator>moacir</dc:creator>
				<category><![CDATA[comunidade]]></category>
		<category><![CDATA[php5]]></category>
		<category><![CDATA[Manual do PHP]]></category>
		<category><![CDATA[PhD]]></category>

		<guid isPermaLink="false">http://www.phpam.com/blog/?p=83</guid>
		<description><![CDATA[Saudações amigos do PHP-AM,
O PHP é sem dúvida a linguagem de programação mais bem documentada atualmente, já são mais de 10000 páginas de documentação disponíveis. E, para manter toda essa fonte de valiosa de dados, existem pessoas do mundo inteiro colaborando com o Manual e suas traduções, que é claro são open source. Neste post, [...]]]></description>
			<content:encoded><![CDATA[<p>Saudações amigos do PHP-AM,</p>
<p>O PHP é sem dúvida a linguagem de programação mais bem documentada atualmente, já são mais de 10000 páginas de documentação disponíveis. E, para manter toda essa fonte de valiosa de dados, existem pessoas do mundo inteiro colaborando com o Manual e suas traduções, que é claro são open source. Neste post, vamos aprender como baixar e renderizar o Manual do PHP, primeiro passo para começar a contribuir com o Manual.</p>
<p><span id="more-83"></span></p>
<p>Todo o repositório do PHP foi migrado do CVS para o SVN recentemente, então, para baixar os fontes do manual, primeiramente certifique-se de ter uma cópia do Subversion instalada em sua máquina. Para baixar o manual faça:</p>
<p><code>$ svn co http://svn.php.net/repository/phpdoc/modules/doc-en phpdoc</code></p>
<p>Este comando criará a pasta phpdoc com os fontes do manual em inglês. Para baixar a documentação em português apenas substitua o doc-en por doc-pt_BR. A seguinte estrutura de diretórios será criada:</p>
<p><code>phpdoc/<br />
- doc-base/<br />
- en/</code></p>
<p>O diretório en/ possui o Manual propriamente dito, que é escrito no formato DocBook 5. Já o diretório doc-base possui vários scripts para manutenção do manual. Para configurar o manual faça o seguinte.</p>
<p><code>$ cd phpdoc/doc-base/<br />
$ php configure.php</code></p>
<p>Se tudo der certo, ao final deste passo, o arquivo (gigantesco) .manual.xml deverá ser gerado. Este arquivo possui todo o manual formatado para que o PhD possa entrar em ação.</p>
<p>O PhD: <a href="http://doc.php.net/phd/" target="_blank">[PH]P Based [D]ocBook Renderer</a> é a ferramenta que renderiza o Manual nos diversos formatos disponíveis no php.net xhtml, pdf, chm etc. O próprio Manual online também é renderizado com o PhD. Como o PhD sempre utiliza a última versão do PHP, trate de instalar o PHP 5.3 se você anda meio desatualizado. Você também precisará do PEAR instalado em sua máquina. Para instalar o PhD faça:</p>
<p><code>$ pear install --alldeps doc.php.net/phd-beta</code></p>
<p>Com o PhD instalado já podemos renderizar o Manual, vamos testar o formato xhtml:</p>
<p><code>$ phd --docbook path/to/.manual.xml --format xhtml --package PHP --output manual</code></p>
<p>O PhD irá gerar os arquivos dentro do diretório manual/. O formato xhtml gerará o Manual em milhares de arquivos .html. Para testar faça:</p>
<p><code>$ firefox manual/php-chunked-xhtml/index.html</code></p>
<p>Agora você pode renderizar o Manual do PHP em sua máquina na hora que quiser \o/. O PhD possui outros formatos de saída como PDF e Manpages, para visualizar todos faça:</p>
<p><code>$ phd --list</code></p>
<p>Bem, esta é a configuração básica de qualquer contribuidor do Manual do PHP, se você quiser fazer alguma alteração no manual modifique os arquivos fonte no seu diretório phpdoc/en ou phpdoc/pt_BR e então rode novamente o configure.php e o PhD, e  as suas modificações poderão ser vistas no seu browser.</p>
<p>O PhD também é utilizado para renderizar o Manual do PEAR e arquivos DocBook em geral. Qualquer dúvida com relação ao Manual ou o PhD envie um e-mail para a lista phpdoc@lists.php.net, ou acesse o canal #php.doc no EFNet. No próximo post darei mais dicas de como utilizar o PhD e contribuir com o Manual do PHP.</p>
<p>Abraço e até a próxima.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.phpam.com/blog/2009/10/19/renderizando-o-manual-do-php-com-o-phd/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Erro no PHP5 PDO no ubuntu</title>
		<link>http://www.phpam.com/blog/2009/02/20/erro-no-php5-pdo-no-ubuntu/</link>
		<comments>http://www.phpam.com/blog/2009/02/20/erro-no-php5-pdo-no-ubuntu/#comments</comments>
		<pubDate>Fri, 20 Feb 2009 20:45:23 +0000</pubDate>
		<dc:creator>Daniel Martins</dc:creator>
				<category><![CDATA[dicas]]></category>
		<category><![CDATA[pdo]]></category>
		<category><![CDATA[php5]]></category>
		<category><![CDATA[bug]]></category>
		<category><![CDATA[pdo_mysql]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://www.phpam.com/blog/?p=70</guid>
		<description><![CDATA[Tive um problema que não sei exatamente aonde começou, não sei se foi uma atualização ou o que.
Mas acredito que seja por causa deste bug e resolvi reinstalando o PDO.
Se você, usuário ubuntu estiver enfrentando o mesmo problema com sua instalação PDO:
pdo_mysql.so: undefined symbol: php_pdo_declare_long_constant

Apenas reinstale o PDO com os seguintes comandos para remover:
$ sudo [...]]]></description>
			<content:encoded><![CDATA[<pre class="note">Tive um problema que não sei exatamente aonde começou, não sei se foi uma atualização ou o que.
Mas acredito que seja por causa deste <a href="http://pecl.php.net/bugs/bug.php?id=12141" target="_blank">bug</a> e resolvi reinstalando o PDO.
Se você, usuário ubuntu estiver enfrentando o mesmo problema com sua instalação PDO:
<strong>pdo_mysql.so: undefined symbol: php_pdo_declare_long_constant</strong>

Apenas reinstale o PDO com os seguintes comandos para remover:</pre>
<blockquote><p>$ sudo pecl uninstall PDO_MYSQL<br />
$ sudo pecl uninstall PDO</p>
</blockquote>
<p>E depois reinstalar:</p>
<blockquote><p>$ sudo pecl install PDO<br />
$ sudo pecl install PDO_MYSQL</p>
</blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.phpam.com/blog/2009/02/20/erro-no-php5-pdo-no-ubuntu/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Padrões de Codificação em PHP</title>
		<link>http://www.phpam.com/blog/2009/01/21/padroes-de-codificacao-php/</link>
		<comments>http://www.phpam.com/blog/2009/01/21/padroes-de-codificacao-php/#comments</comments>
		<pubDate>Wed, 21 Jan 2009 21:06:34 +0000</pubDate>
		<dc:creator>Nona</dc:creator>
				<category><![CDATA[php5]]></category>
		<category><![CDATA[guia]]></category>
		<category><![CDATA[padrões]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[qualidade]]></category>

		<guid isPermaLink="false">http://www.phpam.com/blog/?p=20</guid>
		<description><![CDATA[Toda linguagem de programação precisa de alguns padrões de codificação, ou seja, precisa de regras para que os códigos redigidos em um arquivo sejam legíveis para outros desenvolvedores. Estes padrões tornam o código mais versátil, limpo, fácil de manter e entre outros aspectos que ajudam em seu ciclo de vida.
Um padrão de codificação é como [...]]]></description>
			<content:encoded><![CDATA[<p>Toda linguagem de programação precisa de alguns padrões de codificação, ou seja, precisa de regras para que os códigos redigidos em um arquivo sejam legíveis para outros desenvolvedores. Estes padrões tornam o código mais versátil, limpo, fácil de manter e entre outros aspectos que ajudam em seu ciclo de vida.</p>
<p>Um padrão de codificação é como se fosse um &#8220;ISO&#8221; de qualidade, ele torna a estrutura do código internacionalmente legível. Bom, assim todos esperam!</p>
<p><span id="more-20"></span></p>
<p>Neste artigo vou tratar alguns assuntos importantes que precisam ser levados em conta na hora de escrever códigos em PHP, é claro que nem tudo será abordado neste artigo. Muitos outros assuntos serão abordados em breve nos próximos posts que terão ligações com este artigo sobre codificação.</p>
<p><strong>1 &#8211; Code Layout</strong></p>
<p><strong><em>1.1 &#8211; Indentação</em></strong></p>
<p>É sempre bom usar 4 espaços para cada bloco de instrução.</p>
<p>O PHP não se baseia em indentação como delimitadores de blocos como o Python,<br />
este assunto é até mesmo um pouco irrelevante, mas é um detalhe.<br />
A questão de indentação no PHP é tornar o código mais legível para outros desenvolvedores<br />
e até para você mesmo. Alguns desenvolvedores preferem usar tabs para o espaçamento do código,<br />
mas é preferível usar apenas 4 espaços para cada bloco de instrução.</p>
<p><img class="alignnone size-full wp-image-27" src="http://www.phpam.com/blog/wp-content/uploads/2008/12/indentacao3.gif" alt="indentacao3" width="240" height="120" />fig 1.1</p>
<p><strong><em>1.2 &#8211; Cabeçalhos de instruções</em></strong></p>
<p>É sempre bom usar 1 espaço entre a palavra chave e os parênteses para cabeçalhos<br />
de instruções, não de funções ou métodos de classes.<br />
O uso de apenas 1 espaço dentro dos parênteses também é aceito.</p>
<p><img class="alignnone size-full wp-image-29" src="http://www.phpam.com/blog/wp-content/uploads/2008/12/cabecalho_instrucoes.gif" alt="cabecalho_instrucoes" width="280" height="600" />fig 1.2</p>
<p>e assim por diante.</p>
<p><strong><em>1.3 &#8211; Loops aninhados</em></strong></p>
<p>É a única ocasião em que variáveis com tamanho igual a 1 são permitidas e até mesmo encorajadas.<br />
Sempre use $i como nome da variável do primeiro índice do laço mais externo, logo após você deve usar as letras que seguem na ordem alfabética.<br />
Tente não usar a letra l &#8220;L&#8221; na forma minúscula porque ela parece com o algarismo 1.</p>
<p><img class="alignnone size-full wp-image-30" src="http://www.phpam.com/blog/wp-content/uploads/2008/12/loops_aninhados.gif" alt="loops_aninhados" width="285" height="215" />Fig 1.3</p>
<p><strong><em>1.4 &#8211; Incluindo chaves</em></strong></p>
<p>Chaves devem ser sempre incluídas quando estivermos usando blocos if, for, while e etc. Não há<br />
exceções para esta regra, mesmo que as chaves possam ser omitidas.<br />
A chave de abertura deve ser posta uma linha depois da instrução e a chave de fechamento deve ser alinhada com a chave de abertura.<br />
Esquecendo esta regra podemos tornar o código mais difícil de manter no futuro e ainda corremos<br />
riscos de aperecerem bugs muito difíceis de serem achados.</p>
<p><img class="alignnone size-full wp-image-32" src="http://www.phpam.com/blog/wp-content/uploads/2008/12/incluindo_chaves.gif" alt="incluindo_chaves" width="225" height="310" />Fig 1.4</p>
<p><strong><em>1.5 &#8211; Uso de espaçamentos</em></strong></p>
<p>A melhor receita é um exemplo!</p>
<p>No exemplo a seguir será apresentado a forma correta acompanhada da forma incorreta.</p>
<p><img class="alignnone size-full wp-image-33" src="http://www.phpam.com/blog/wp-content/uploads/2008/12/uso_de_espacamento.gif" alt="uso_de_espacamento" width="382" height="210" />Fig 1.5</p>
<p><strong><em>1.6 &#8211; Expressões</em></strong></p>
<p>Sempre use parênteses para suprimir ambiguidades.<br />
Usando parênteses força-se uma ordem de avaliação, isto ajuda a poupar tempo de análise.<br />
da precedência de operadores.<br />
As vezes eliminar o operador binário not (!) torna a expressão mais clara de se entender.<br />
Mantenha cada linha simples.</p>
<p><strong>2 &#8211; Convenções de Nomes</strong></p>
<p><strong><em>2.1 &#8211; Nomes de variáveis</em></strong></p>
<p>Nomes de variáveis devem sempre começar com letras minúsculas e com as palavras separadas por<br />
underline &#8220;_&#8221;.</p>
<p>Os nomes das variáveis no PHP devem ser descritivos e concisos, mantendo sempre um tamanho<br />
de 15 caracteres, isto não é uma regra mas sempre que possível é bom seguir o conselho para<br />
uma questão de claridade do código.</p>
<p><img class="alignnone size-full wp-image-34" src="http://www.phpam.com/blog/wp-content/uploads/2008/12/nomes_de_variaveis.gif" alt="nomes_de_variaveis" width="150" height="90" />Fig 2.1</p>
<p><strong><em>2.2 &#8211; Nomes de constantes</em></strong></p>
<p>Nomes de constantes devem conter todos os caracteres em maiúsculo e separando as palavras com<br />
underline &#8220;_&#8221;, devem seguir as mesmas regras das variáveis. As constantes também podem ser declaradas com a função <span style="color: #993366;">define(<span style="color: #3366ff;">$nome</span>, <span style="color: #3366ff;">$valor</span></span>), sendo que nesta função há um terceiro argumento booleano que torna verdadeira a leitura da constante de várias formas, mas isso não é uma boa prática.</p>
<p>leia:<a href="http://php.net/define"> http://php.net/define</a></p>
<p><img class="alignnone size-full wp-image-47" src="http://www.phpam.com/blog/wp-content/uploads/2008/12/nomes_de_constantes1.gif" alt="nomes_de_constantes1" width="242" height="108" />Fig 2.2</p>
<p><strong><em>2.3 &#8211; Nomes de funções</em></strong></p>
<p>Devem seguir as mesmas regras das variáveis e sempre que possível atribuí-la a um verbo, como;</p>
<p><img class="alignnone size-full wp-image-36" src="http://www.phpam.com/blog/wp-content/uploads/2008/12/nomes_de_funcoes.gif" alt="nomes_de_funcoes" width="226" height="36" /> Fig 2.3</p>
<p>através dos nomes dados as funções é fácil saber o que ela executa ou pode executar.</p>
<p><strong><em>2.4 &#8211; Argumentos de funções</em></strong></p>
<p>Argumentos de funções são variáveis de contexto local, logo todas as regras que valem para as variáveis valem aqui também.<br />
Se a função possui mais de um argumento eles precisam estar separados por um espaço, tanto na chamada da função como na sua construção. Os nomes de argumentos também ajudam a definir o propósito da função.</p>
<p><img class="alignnone size-full wp-image-37" src="http://www.phpam.com/blog/wp-content/uploads/2008/12/argumentos_de_funcoes.gif" alt="argumentos_de_funcoes" width="264" height="139" />Fig 2.4</p>
<p><strong><em>2.5 &#8211; Classes</em></strong></p>
<p>Nomes de classes precisam estar no estilo Camel Case, e de preferência estar definida com apenas uma palavra se for conveniente e quando possível.</p>
<p><img class="alignnone size-full wp-image-38" src="http://www.phpam.com/blog/wp-content/uploads/2008/12/nomes_de_classes.gif" alt="nomes_de_classes" width="177" height="53" />Fig 2.5</p>
<p><strong><em>2.6 &#8211; Métodos de classes</em></strong></p>
<p>Métodos de classes precisam estar no estilo Camel Case, mas pode-se usar o estilo de funções sem nenhum problema.<br />
Mas uma condição deve ser satisfeita, se você começar a escrever métodos de classes com um tipo de estilo então termine com este, por favor não faça uma salada!</p>
<p><img class="alignnone size-full wp-image-39" src="http://www.phpam.com/blog/wp-content/uploads/2008/12/metodos_de_classes.gif" alt="metodos_de_classes" width="284" height="204" />Fig 2.6</p>
<p><strong>3 &#8211; Strings</strong></p>
<p>Strings em PHP podem ser usadas com aspas simples &#8221; ou aspas duplas &#8220;&#8221;.<br />
A diferença entre elas é que o parser irá usar interpolação de variável ou usará os caracteres de escapamento em uma string com aspas duplas, e em uma string com aspas simples todo o valor é mantido como está, então;</p>
<p><img class="alignnone size-full wp-image-40" src="http://www.phpam.com/blog/wp-content/uploads/2008/12/string.gif" alt="string" width="346" height="57" />Fig 3</p>
<p>enquanto que atribuindo ao print o mesmo valor mas dentro de aspas simples, isso irá renderizar o mesmo valor sem interpolação.</p>
<p>O que é preciso conscientizar-se desta regra, é que sempre que você for atribuir um valor do tipo string a uma variável e este valor não possuir nenhuma interpolação ou caracteres de escape atribua com aspas simples, isso acaba aliviando o parser e consequentemente ajuda na performance.</p>
<p><strong>Conclusão</strong></p>
<p>Muitas abordagens deste artigo não significam que você deva seguí-las como uma religião, a questão aplicada aqui é global. Você é o desenvolvedor, sua cabeça é o seu guia.</p>
<p>Mas como experiência a minha dica é; &#8220;faça o possível para seguí-las&#8221;. Isso vale até pra ajudá-lo a entender o código que você mesmo escreveu. Um código bem feito tem mais chances de ser aceito pela comunidade global de desenvolvedores.</p>
<p>Alguns assuntos como; Exceções e Documentação, serão abordados em um outro post mas que tem uma ligação fortíssima com este artigo.</p>
<p><em>Até um outro post!</em></p>
]]></content:encoded>
			<wfw:commentRss>http://www.phpam.com/blog/2009/01/21/padroes-de-codificacao-php/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Comunidade PHP-AM</title>
		<link>http://www.phpam.com/blog/2008/11/10/comunidade-php-am/</link>
		<comments>http://www.phpam.com/blog/2008/11/10/comunidade-php-am/#comments</comments>
		<pubDate>Mon, 10 Nov 2008 19:38:41 +0000</pubDate>
		<dc:creator>Nona</dc:creator>
				<category><![CDATA[comunidade]]></category>

		<guid isPermaLink="false">http://www.phpam.com/blog/?p=8</guid>
		<description><![CDATA[Saudações!
Parabenizo a todos os participantes da lista de discussão do PHP-AM pela iniciativa de construir um site com conteúdo sobre a linguagem  PHP, essa é uma nova empreitada e chamamos a nós a responsabilidade de gerar conteúdo técnico-científico que satisfaçam as necessidades de todas as categorias, de iniciantes à avançados.

Ressalvas
A comunidade já conta com [...]]]></description>
			<content:encoded><![CDATA[<h3>Saudações!</h3>
<p>Parabenizo a todos os participantes da lista de discussão do <a href="http://groups.google.com.br/group/php_am?lnk=">PHP-AM</a> pela iniciativa de construir um site com conteúdo sobre a linguagem  PHP, essa é uma nova empreitada e chamamos a nós a responsabilidade de gerar conteúdo técnico-científico que satisfaçam as necessidades de todas as categorias, de iniciantes à avançados.</p>
<p><span id="more-8"></span></p>
<h3>Ressalvas</h3>
<p>A comunidade já conta com alguns escritores que estão se esforçando ao máximo para gerar conteúdo e tráfego para o site. Mas é preciso que os membros que já possuem conhecimento suficiente  na linguagem também se tornem escritores para que o site tenha um leque moderado de <em>posts</em>. Contudo, é preciso lembra que toda a contribuição é voluntária e não há alguma política que obriga você, membro da comunidade, a cooperar com o desenvolvimento do <span style="color=red;">PHP-AM</span>. Mas toda a contribuição é bem-vinda e respeitada pelos participantes.</p>
<p>Toda a iniciativa precisa passar por uma avaliação dos membros mais fluentes da comunidade para que nada de desagradável ou irrelevante venha a ser exposto no site.</p>
<p>O site da comunidade não é apenas para gerar <em>posts</em>, discussões ou reuniões mas também é possível a iniciativa de projetos para o desenvolvimento da linguagem, como;</p>
<ul>
<li>traduções</li>
<li>criações de ferramentas</li>
<li>correções de bugs</li>
<li>criações de novas features</li>
<li>dentre outros.</li>
</ul>
<p>A idéia inicial de ser uma comunidade diferente, continua. Mas para que isso seja possível todos nós precisamos de boas idéias e de um grupo consistente  de desenvolvedores. E você que está lendo este <em>post</em> e deseja ou já é participante do grupo, com certeza você é um forte candidato para participar desses projetos.</p>
<p>Então é PHP na cabeça, espírito de equipe e nada de bugs hein&#8230;</p>
<p><em>Nona</em></p>
]]></content:encoded>
			<wfw:commentRss>http://www.phpam.com/blog/2008/11/10/comunidade-php-am/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>php5 -r &#8220;echo \&#8221;Alô mundo\n\&#8221;;&#8221;</title>
		<link>http://www.phpam.com/blog/2008/11/03/hello-world/</link>
		<comments>http://www.phpam.com/blog/2008/11/03/hello-world/#comments</comments>
		<pubDate>Mon, 03 Nov 2008 18:26:06 +0000</pubDate>
		<dc:creator>Daniel Martins</dc:creator>
				<category><![CDATA[comunidade]]></category>

		<guid isPermaLink="false">http://www.phpam.com/blog/?p=1</guid>
		<description><![CDATA[Esse é o site e blog da comunidade de Programadores PHP do Amazonas.
No andar da carruagem vamos personalizar mais o design do site e publicar conteúdo relevante de PHP além de mencionar empregos locais para programadores PHP.
Caso queira entrar em contato com a comunidade, sinta-se a vontade para se inscrever na lista de dicussão.
]]></description>
			<content:encoded><![CDATA[<p>Esse é o site e blog da comunidade de Programadores PHP do Amazonas.</p>
<p>No andar da carruagem vamos personalizar mais o design do site e publicar conteúdo relevante de PHP além de mencionar empregos locais para programadores PHP.</p>
<p>Caso queira entrar em contato com a comunidade, sinta-se a vontade para se inscrever na <a title="PHP Amazonas" href="http://groups.google.com.br/group/php_am" target="_blank">lista de dicussão</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.phpam.com/blog/2008/11/03/hello-world/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
