<?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>Web para Todos &#187; PHP</title>
	<atom:link href="http://www.webparatodos.com.br/category/php/feed" rel="self" type="application/rss+xml" />
	<link>http://www.webparatodos.com.br</link>
	<description></description>
	<lastBuildDate>Mon, 12 Dec 2011 01:00:39 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
<xhtml:meta xmlns:xhtml="http://www.w3.org/1999/xhtml" name="robots" content="noindex" />
		<item>
		<title>Adicionar ou subtrair datas com PHP</title>
		<link>http://www.webparatodos.com.br/adicionar-ou-subtrair-datas-com-php</link>
		<comments>http://www.webparatodos.com.br/adicionar-ou-subtrair-datas-com-php#comments</comments>
		<pubDate>Thu, 15 Jul 2010 02:54:32 +0000</pubDate>
		<dc:creator>Cristian Trentin</dc:creator>
				<category><![CDATA[Dicas]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.webparatodos.com.br/?p=154</guid>
		<description><![CDATA[Quer aprender a adicionar ou subtrair datas facilmente com o PHP? Então usa a função strtotime Tchau! Só isso? É, mas vou colocar um exemplo aqui&#8230; //Agora mais 5 dias echo(date("d/m/Y H:i:s", strtotime("+5 day", strtotime('now')))); Isso é muito velho, mas sempre vejo pessoas apanhando disso, então ta ai!]]></description>
			<content:encoded><![CDATA[<p>Quer aprender a adicionar ou subtrair datas facilmente com o PHP? Então usa a <a title="Função strtotime - PHP.net" href="http://php.net/manual/en/function.strtotime.php" target="_self">função strtotime</a></p>
<p>Tchau!</p>
<p>Só isso? É, mas vou colocar um exemplo aqui&#8230;</p>
<p><code>//Agora mais 5 dias<br />
echo(date("d/m/Y H:i:s", strtotime("+5 day", strtotime('now'))));</code><br />
<strong><br />
Isso é muito velho</strong>, mas sempre vejo pessoas apanhando disso, então ta ai!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.webparatodos.com.br/adicionar-ou-subtrair-datas-com-php/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Classes e Métodos Finais</title>
		<link>http://www.webparatodos.com.br/classes-e-metodos-finais</link>
		<comments>http://www.webparatodos.com.br/classes-e-metodos-finais#comments</comments>
		<pubDate>Mon, 03 May 2010 23:11:25 +0000</pubDate>
		<dc:creator>Cristian Trentin</dc:creator>
				<category><![CDATA[Dicas]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.webparatodos.com.br/?p=145</guid>
		<description><![CDATA[Final Class Uma classe setada como final class não poderá ser uma classe &#8216;pai&#8217;, ou seja, a classe final não pode ser estendida. O PHP 5 permite o uso da palavra-chave &#8216;Final&#8216;, evitando assim que uma classe filha sobrescreva seus métodos ou variáveis. Resumindo final class não pode ser herdada. class Pessoa(){ #conteudo da classe [...]]]></description>
			<content:encoded><![CDATA[<p>Final Class</p>
<p>Uma classe setada como final class não poderá ser uma classe &#8216;pai&#8217;, ou seja, a classe final não pode ser estendida. O PHP 5 permite o uso da palavra-chave &#8216;<strong>Final</strong>&#8216;, evitando assim que uma classe filha sobrescreva seus métodos ou variáveis.</p>
<p>Resumindo final class não pode ser herdada.</p>
<p><code><br />
class Pessoa(){</code></p>
<p><code>#conteudo da classe Pai</p>
<p></code></p>
<p><code>}<br />
</code></p>
<p>Criando a classe filha, porem fazendo uso da palavra final.</p>
<p><code><br />
<strong>final</strong> class PessoaFisica extends Pessoa{</code></p>
<p><code>#conteudo da Classe filha</p>
<p></code></p>
<p><code>}<br />
</code></p>
<p>Caso a classe pai fosse colocada com a palavra final isso geraria um fatal error.</p>
<p>Para os métodos a regra é a mesma ( final function ) .</p>
<p>Simples não?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.webparatodos.com.br/classes-e-metodos-finais/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>E tal da Certificação PHP?</title>
		<link>http://www.webparatodos.com.br/e-tal-da-certificacao-php</link>
		<comments>http://www.webparatodos.com.br/e-tal-da-certificacao-php#comments</comments>
		<pubDate>Wed, 28 Apr 2010 23:55:49 +0000</pubDate>
		<dc:creator>Cristian Trentin</dc:creator>
				<category><![CDATA[Dicas]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.webparatodos.com.br/?p=141</guid>
		<description><![CDATA[Vamos a um bate papo rápido sobre certificação PHP, deixando claro que esse é meu ponto de vista :D Para obter uma certificação PHP eu preciso ser um excelente programador? - Não Mas então o que eu preciso? - Ter experiência com PHP ( experiência != qualidade ) e conhecer bem a linguagem, digamos muito [...]]]></description>
			<content:encoded><![CDATA[<p>Vamos a um bate papo rápido sobre <strong>certificação PHP</strong>, deixando claro que esse é meu ponto de vista :D</p>
<p style="text-align: center;"><a href="http://www.webparatodos.com.br/wp-content/uploads/2010/04/logo-zce.gif"><img class="size-full wp-image-142 aligncenter" title="Certificação PHP" src="http://www.webparatodos.com.br/wp-content/uploads/2010/04/logo-zce.gif" alt="" width="300" height="197" /></a></p>
<p><strong>Para obter uma certificação PHP eu preciso ser um excelente programador?</strong><br />
- Não</p>
<p><strong>Mas então o que eu preciso?</strong><br />
- Ter experiência com PHP ( experiência != qualidade ) e conhecer bem a linguagem, digamos muito bem.</p>
<p><strong>Preciso conhecer todos os N frameworks que existem para PHP?</strong><br />
- Não.</p>
<p><strong>A mas então precisa ser ninja em HTML e CSS?</strong><br />
- Não.</p>
<p><strong>Doutor em Banco de dados?</strong><br />
- Não.</p>
<p><strong>Então o que eu preciso?</strong><br />
- Ser <a title="PHP é coisa de cabra macho" href="http://www.webparatodos.com.br/php-e-coisa-de-cabra-macho" target="_blank">cabra macho em PHP</a> e seus conceitos.</p>
<p><strong>Vamos alguns detalhes sobre o exame</strong></p>
<p>•	90 minutos<br />
•	70 questões<br />
•	Valor de 125 doletas<br />
•	Você tem que acertar 80% das questões<br />
•	Prova em inglês :D<br />
•	Veja <a title="Centros autorizados prova PHP" href="http://wsvprd1a.pearsonvue.com/Dispatcher?application=VTCLocator&amp;action=actStartApp&amp;v=W2L&amp;cid=369" target="_blank">centros autorizados</a> a aplicar a prova</p>
<p><strong>Mas o que eu devo estudar?</strong><br />
- Só isso aqui – <a title="Manual do PHP" href="http://php.net" target="_blank">php.net</a><br />
- Mas o <a title="Guia para certificação PHP" href="http://shop.zend.com/en/php-certification/zend-php5-certification-guide-pdf.html" target="_blank">Zend PHP 5 Certification Guide</a> também irá lhe ajudar</p>
<p><strong>Existem simulados que eu possa fazer antes da prova?</strong><br />
- Têm sim, você pode comprar eles aqui &#8211; <a title="Zend online store" href="http://shop.zend.com/en/php-certification.html" target="_blank">Zend Online Store</a></p>
<p><strong>E se eu não passar na prova?</strong><br />
- Você gastou aproximadamente umas 200 doletas, mas aprendeu muito² mais do que sabe atualmente.</p>
<p><strong>Passei na prova e agora?</strong><br />
- Terá seu nome <a title="Certificados PHP - Brasil" href="http://www.zend.com/en/store/education/certification/yellow-pages.php#list-cid=30&amp;firstname=&amp;lastname=&amp;orderby=name&amp;sid=XX&amp;company=&amp;photo_first=&amp;certtype=PHP5&amp;ClientCandidateID=" target="_blank">divulgado no site da Zend</a> e irá receber um certificado.<br />
- Poderá correr atrás de um salário maior, pq dificilmente seu chefe irá dar uma grana a mais só por causa da certificação.</p>
<p><strong>Então essa certificação não serve para nada?</strong><br />
- Depende seu ponto de vista, mas eu acredito que mostrará que você é um bom profissional de PHP, mas não prova que tu és um bom programador.</p>
<p>O resultado é dado no final da prova, ou seja, tu poderá ir para casa feliz da vida ( ou não ).</p>
<p>*Lembrando que existem programadores excelentes que nunca pensaram em uma certificação.</p>
<p><a title="Apresentação sobre certificação PHP" href="http://www.docstoc.com/docs/20473721/Certifica??o-Zend-PHP-5-%28ZCE%29/" target="_blank">Uma boa apresentação sobre certificação</a></p>
<p><strong>Logo eu diria para você &#8220;Estude e preste a prova afinal o que são 200 doletas&#8221;.</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://www.webparatodos.com.br/e-tal-da-certificacao-php/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Usar ou não usar Frameworks?</title>
		<link>http://www.webparatodos.com.br/usar-ou-nao-usar-frameworks</link>
		<comments>http://www.webparatodos.com.br/usar-ou-nao-usar-frameworks#comments</comments>
		<pubDate>Wed, 25 Nov 2009 12:53:00 +0000</pubDate>
		<dc:creator>Cristian Trentin</dc:creator>
				<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.webparatodos.com.br/?p=139</guid>
		<description><![CDATA[Quem me segue no Twitter ou já assistiu uma das minhas palestras de PHP já sabe o que vou falar nesse post. Sou contra o uso de Frameworks! Mas também sou a favor! Vamos as devidas explicações Se você esta começando no PHP, não recomendo o uso de Frameworks de maneira nenhuma. Visto que os [...]]]></description>
			<content:encoded><![CDATA[<p>Quem me segue no <a href="http://twitter.com/trentin">Twitter </a>ou já assistiu uma das <a href="http://www.webparatodos.com.br/palestras-php-curitiba">minhas palestras</a> de PHP já sabe o que vou falar nesse post.</p>
<p><strong>Sou contra o uso de Frameworks! Mas também sou a favor!</strong></p>
<p>Vamos as devidas explicações</p>
<p>Se você esta <a href="http://www.webparatodos.com.br/php-e-coisa-de-cabra-macho">começando no PHP</a>, não recomendo o uso de <strong>Frameworks de maneira nenhuma</strong>. Visto que os Framewoks são uma mão na roda, e muitas vezes fazendo coisas &#8216;automáticas&#8217; para você. O aprender é importante que seja construido no braço, lembrando que isso não quer dizer que tenha que programar usando o bloco de notas.</p>
<p>Quando já se sentir seguro em relação ao PHP, conhecer os conceitos, melhores práticas e fizer vários testes ai sim é hora de estudar mais um pouco :D.</p>
<p>O uso de ferramentas prontas faz com que desenvolvedores não pensem, tá tá, não é bem isso, facilita um monte, mas é necessário sempre saber o que esta acontecendo. Um bom exemplo disso é usar JQuery (JS) para tudo, as vezes é muito melhor criar o seu JS.</p>
<p>Os Frameworks fazem com que seu projeto seja desenvolvido muito mais rápido, afinal você tem N funcionalidades e conceitos prontos. Mas lembre-se de uma coisa, não aprenda <a href="http://www.cakephp.com.br/">CakePHP</a> ou <a href="http://codeigniter.com/">Code Igniter</a> ou <a href="http://framework.zend.com/">Zend Framework</a>, aprenda todos.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.webparatodos.com.br/usar-ou-nao-usar-frameworks/feed</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Ebook PHP &#8211; Gratuito</title>
		<link>http://www.webparatodos.com.br/ebook-php-gratuito</link>
		<comments>http://www.webparatodos.com.br/ebook-php-gratuito#comments</comments>
		<pubDate>Wed, 04 Nov 2009 01:29:32 +0000</pubDate>
		<dc:creator>Cristian Trentin</dc:creator>
				<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.webparatodos.com.br/?p=136</guid>
		<description><![CDATA[Esse é um trabalho que pretendo lançar aos poucos, porém constante. O primeiro capítulo do Ebook de PHP esta pronto, na verdade os próximos 3 capítulos também, mas ainda precisam ser melhorados, revisados e juntados com os ‘pitacos’ desse. O Ebook&#8230; Não será vendido; Não tenho apoio financeiro; Não tenho ajudante para formular o conteúdo; [...]]]></description>
			<content:encoded><![CDATA[<p>Esse é um trabalho que pretendo lançar aos poucos, porém constante.</p>
<p>O primeiro capítulo do Ebook de PHP esta pronto, na verdade os próximos 3 capítulos também, mas ainda precisam ser melhorados, revisados e juntados com os ‘pitacos’ desse.</p>
<p>O Ebook&#8230;</p>
<ul>
<li>Não será vendido;</li>
<li>Não tenho apoio financeiro;</li>
<li>Não tenho ajudante para formular o conteúdo;</li>
<li>Não tem parte gráfica, mas teremos para o capítulo 2.</li>
</ul>
<ul>
<li>Vou montar um material bacana;</li>
<li>Pode ser que demore um tempo;</li>
<li>Terá temas solicitados pelos leitores;</li>
<li>Será montado em 10 capítulos ou mais;</li>
</ul>
<p><strong>Veja a lista de assuntos</strong></p>
<ul>
<li>Cap. 01 Introdução</li>
<li>Cap. 02 Padrões e dicas importantes</li>
<li>Cap. 03 Programação Orientada a Objetos</li>
<li>Cap. 04 Programação Orientada a Objetos (O Retorno)</li>
<li>Cap. 05 Testes e mais testes (TDD)</li>
<li>Cap. 06 até p Cap. 10 (analisando temas)</li>
</ul>
<p><strong>Aguardo suas sugestões para os próximos capítulos.</strong></p>
<p>É isso!</p>
<p>Algumas pessoas me ajudaram na revisão (@barbezinha e @tiane), porém pode ser que ainda tenhamos algo errado, se possível envie para mim.</p>
<p>Obrigado!</p>
<p>Essas 07 primeiras páginas são só para quebrar o gelo.<br />
<a href="http://www.webparatodos.com.br/wp-content/uploads/ebook/ebook_capitulo_1.pdf" target="_blank">Download primeiro capítulo do Ebook de PHP.</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.webparatodos.com.br/ebook-php-gratuito/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Palestras PHP &#8211; Curitiba</title>
		<link>http://www.webparatodos.com.br/palestras-php-curitiba</link>
		<comments>http://www.webparatodos.com.br/palestras-php-curitiba#comments</comments>
		<pubDate>Wed, 04 Nov 2009 00:56:58 +0000</pubDate>
		<dc:creator>Cristian Trentin</dc:creator>
				<category><![CDATA[Dicas]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.webparatodos.com.br/?p=134</guid>
		<description><![CDATA[Mini-curso Dias 11 e 12 de novembro das 19h às 22h, estarei ministrando um pequeno curso de PHP (PHP para cabra macho). Palestra Dias 13 de novembro das 09h às 10h30, falaremos sobre PHP na semana de tecnologia das Faculdades OPET. Assim que os eventos acontecerem eu posto o material por aqui. Segue o matérial [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Mini-curso</strong><br />
Dias 11 e 12 de novembro das 19h às 22h, estarei ministrando um pequeno curso de PHP (PHP para cabra macho).</p>
<p><strong>Palestra</strong><br />
Dias 13 de novembro das 09h às 10h30, falaremos sobre PHP na semana de tecnologia das <strong><a href="http://www.opet.com.br/fto/indexfto.asp">Faculdades OPET</a></strong>.</p>
<p><del datetime="2009-11-25T12:54:47+00:00">Assim que os eventos acontecerem eu posto o material por aqui.</del></p>
<p>Segue o matérial</p>
<div id="__ss_2489498" style="width: 425px; text-align: left;"><a style="font: 14px Helvetica,Arial,Sans-serif; display: block; margin: 12px 0 3px 0; text-decoration: underline;" title="Cabra Macho" href="http://www.slideshare.net/trentin/cabra-macho">Cabra Macho</a><object style="margin: 0px;" width="425" height="355"><param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=cabramacho-091113020032-phpapp01&amp;stripped_title=cabra-macho" /><param name="allowFullScreen" value="true" /><param name="allowScriptAccess" value="always" /><embed type="application/x-shockwave-flash" width="425" height="355" src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=cabramacho-091113020032-phpapp01&amp;stripped_title=cabra-macho" allowfullscreen="true" allowscriptaccess="always"></embed></object></p>
<div style="font-size: 11px; font-family: tahoma,arial; height: 26px; padding-top: 2px;">View more <a style="text-decoration: underline;" href="http://www.slideshare.net/">presentations</a> from <a style="text-decoration: underline;" href="http://www.slideshare.net/trentin">trentin</a>.</div>
</div>
<p><script src="http://b.scorecardresearch.com/beacon.js?c1=7&amp;c2=7400849&amp;c3=1&amp;c4=&amp;c5=&amp;c6="></script></p>
]]></content:encoded>
			<wfw:commentRss>http://www.webparatodos.com.br/palestras-php-curitiba/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>PHP é coisa de cabra macho</title>
		<link>http://www.webparatodos.com.br/php-e-coisa-de-cabra-macho</link>
		<comments>http://www.webparatodos.com.br/php-e-coisa-de-cabra-macho#comments</comments>
		<pubDate>Thu, 01 Oct 2009 14:25:17 +0000</pubDate>
		<dc:creator>Cristian Trentin</dc:creator>
				<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.webparatodos.com.br/?p=126</guid>
		<description><![CDATA[Como PHP é uma linguagem de fácil aprendizado todo mundo vira programador PHP.  Epa, quem falou que PHP é de fácil aprendizado? Muitos são considerados programadores ou falam que são quando: Enviar email usando a função mail Conectar em um banco de dados Salvar e Editar dados via form.. dados esses que estão no Banco [...]]]></description>
			<content:encoded><![CDATA[<p>Como PHP é uma linguagem de fácil aprendizado todo mundo vira programador PHP.  Epa, quem falou que PHP é de fácil aprendizado?</p>
<p>Muitos são considerados programadores ou falam que são quando:</p>
<ul>
<li>Enviar email usando a função mail</li>
<li>Conectar em um banco de dados</li>
<li>Salvar e Editar dados via form.. dados esses que estão no Banco de dados</li>
<li>Alterar um arquivo txt</li>
<li>Criar um cookie ou alterar dados de uma session</li>
</ul>
<p>Pois é&#8230; PHP é muito mais que isso, to falando sério!</p>
<p>A Cristian, mas eu uso um belo Framework de desenvolvimento e tudo que eu faço é em camadas. Show isso em, mas e o que o framework faz em background? Não sou contra o uso de frameworks, mas você precisa saber o pq das coisas.</p>
<p>Vamos a mais alguns itens bacanas que todo programador PHP deveria saber</p>
<ul>
<li><strong>Instalar e configurar o PHP e o Apache</strong>, não estou falando do wamp ou easy php</li>
<li>Usar <strong>controle de versão</strong> em seus projetos</li>
<li> Desenvolvimento orientado a testes<strong> (TDD</strong>)</li>
<li> Orientação a objetos (<strong>OO</strong>)</li>
<li> Usar padrões em seus códigos (<a title="Padrões em códigos PHP" href="http://blog.walkeralencar.com/archives/11" target="_self"><strong>http://blog.walkeralencar.com/archives/11</strong></a>)</li>
<li> <strong>Documentar </strong>todo os arquivos e suas funcionalidades</li>
<li> <strong>Debugar seu projeto</strong>, mas não é usar var_dump e sim Xdebug</li>
<li> <strong>Segurança </strong>em seus projetos, criptografia de dados e<strong> não to falando de MD5</strong> (esse já foi <span style="text-decoration: line-through;">quebrado</span> a muito tempo)</li>
<li> <strong>Validações </strong>de toda e qualquer maneira possível (validar arquivos, funções e todas as entradas de dados dos usuários)</li>
</ul>
<p>Eu conheço tudo isso já, posso me considerar um excelente programador PHP?  <strong>Não!</strong></p>
<p>Você nunca sabe o bastante, leia os releases de atualizações do PHP.</p>
<ul>
<li>Aprenda <a title="Conheça o site do Smarty" href="http://www.smarty.net" target="_self"><strong>Smarty</strong></a></li>
<li><strong>Não use códigos prontos</strong> de fóruns, tutoriais, listas, grupos ou repositório de classes (aprenda com eles e faça o seu)</li>
<li> Teste, teste, teste e teste novamente.</li>
</ul>
<p>Na maioria dos casos de invasão a culpa não é do Hardware, sistema operacional ou modelagem da aplicação e sim do programador.</p>
<ul>
<li><strong>Não contrate um &#8216;programador bigode&#8217; </strong>por causa de R$ a menos. A economia agora pode ser muito prejuízo depois.</li>
</ul>
<ul>
<li>Obtenha <a title="Certificação PHP" href="http://www.zend.com/services/certification/" target="_self"><strong>certificação PHP</strong></a> (ainda não tenho), para não falarem que eu disse que o programador só é bom se tiver certificação, existem programadores que são de outro planeta (são excelentes) e nunca chegaram perto de uma certificação.</li>
</ul>
<p>Então é isso, não faça um curso básico de PHP e saia falando que tu é programador PHP, isso faz com que quase ninguém confie na linguagem e os salários não sejam grandes&#8230; <strong>Mas se deseja ser um programador bigode vá aprender Java (não gosto dele mesmo)</strong>.</p>
<p>[update] Só para lembrar eu não estou chamando os programadores Java de bigodes.. Conheço excelentes programadores Javas. [/update]</p>
]]></content:encoded>
			<wfw:commentRss>http://www.webparatodos.com.br/php-e-coisa-de-cabra-macho/feed</wfw:commentRss>
		<slash:comments>20</slash:comments>
		</item>
		<item>
		<title>Novas versões do PHP, Firefox e PostgreSQL</title>
		<link>http://www.webparatodos.com.br/novas-versoes-do-php-firefox-e-postgresql</link>
		<comments>http://www.webparatodos.com.br/novas-versoes-do-php-firefox-e-postgresql#comments</comments>
		<pubDate>Thu, 02 Jul 2009 04:32:39 +0000</pubDate>
		<dc:creator>Cristian Trentin</dc:creator>
				<category><![CDATA[Dicas]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[PostgreSQL]]></category>
		<category><![CDATA[firefox]]></category>

		<guid isPermaLink="false">http://www.webparatodos.com.br/?p=73</guid>
		<description><![CDATA[Novidades foram varias no mundo tecnológico, sendo o lançamento do PHP 5.3, Firefox 3.5 e do PostgreSQL 8.4. O Firefox 3.5 Até o momento desse post, pouco mais de 24h do lançamento, já tínhamos 6.5 milhões de downloads do Firefox, veja a quantidade de downloads nesse momento. As melhorias que temos nessa versão são: suporte [...]]]></description>
			<content:encoded><![CDATA[<p>Novidades foram varias no mundo tecnológico, sendo o lançamento do <a title="Site oficial do PHP" href="http://php.net/downloads.php" target="_blank"><strong>PHP 5.3</strong></a><img src="http://www.webparatodos.com.br/wp-content/imagens/novo_site.gif" alt="Link Externo" />, <a title="Site oficial do Firefox" href="http://br.mozdev.org/" target="_blank"><strong>Firefox 3.5</strong></a><img src="http://www.webparatodos.com.br/wp-content/imagens/novo_site.gif" alt="Link Externo" /> e do <a title="Site oficial do PostgreSQL" href="http://www.postgresql.org/" target="_blank"><strong>PostgreSQL 8.4</strong></a><img src="http://www.webparatodos.com.br/wp-content/imagens/novo_site.gif" alt="Link Externo" />.</p>
<p><strong>O Firefox 3.5</strong><br />
Até o momento desse post, pouco mais de 24h do lançamento, já tínhamos 6.5 milhões de downloads do Firefox, <a href="http://downloadstats.mozilla.com/" target="_blank">veja a quantidade de downloads nesse momento</a><img src="http://www.webparatodos.com.br/wp-content/imagens/novo_site.gif" alt="Link Externo" />.<br />
As melhorias que temos nessa versão são:</p>
<ul>
<li>suporte a <a href="http://dev.w3.org/html5/spec/Overview.html" target="_blank">HTML 5</a><img src="http://www.webparatodos.com.br/wp-content/imagens/novo_site.gif" alt="Link Externo" /> ( a grande novidade é poder executar audios e videos apenas usando HTML e tendo controle sobre eles)</li>
<li><a href="http://pt-br.www.mozilla.com/pt-BR/firefox/geolocation/" target="_blank">Navegação ciente de localização</a><img src="http://www.webparatodos.com.br/wp-content/imagens/novo_site.gif" alt="Link Externo" /></li>
<li>Suporte nativo a JSON</li>
<li>Navegação anônima</li>
<li>Nova engine para compilação de Javascript</li>
<li>E li em algum lugar que ficou até 250% mais rápido do que a versão anterior</li>
</ul>
<p><strong>PHP 5.3</strong><br />
Essa é uma das versões mais aguardadas pelos desenvolvedores PHP, algumas das funcionalidades só seriam disponibilizadas na versão 6 do PHP, porém é com muito gosto que digo que agora podemos usar namespaces, vamos a lista de novidades.<br />
<span id="more-73"></span>!</p>
<ul>
<li><a href="http://www.phpavancado.net/node/430" target="_blank">Namespaces</a><img src="http://www.webparatodos.com.br/wp-content/imagens/novo_site.gif" alt="Link Externo" /></li>
<li>Correções de 140 bugs</li>
<li>Biblioteca Mysql escrita novamente</li>
<li>Garbage Collector, limpeza de memoria.</li>
<li>Suporte __callStatic()</li>
<li>E_DEPRECATED mostra o método que será removido no PHP 6</li>
<li>Melhor uso de memória</li>
<li>Melhor reporting de erros de sintaxe</li>
</ul>
<p><a href="http://php.net/ChangeLog-5.php" target="_blank">Saiba sobre todas as alterações no PHP 5.3</a><img src="http://www.webparatodos.com.br/wp-content/imagens/novo_site.gif" alt="Link Externo" /></p>
<p><strong>PostgreSQL 8.4</strong><br />
A nova versão trouxe várias melhorias, sem falar no ganho de performance, porém antes de sair <a href="http://www.postgresql.org/download/" target="_blank">atualizando o PostgreSQL</a><img src="http://www.webparatodos.com.br/wp-content/imagens/novo_site.gif" alt="Link Externo" /> em seu servidor é muito importante que você leia os <a href="http://www.postgresql.org/docs/8.4/static/release-8-4.html" target="_blank">release</a><img src="http://www.webparatodos.com.br/wp-content/imagens/novo_site.gif" alt="Link Externo" /> e veja o que mudou.</p>
<ul>
<li>Não usa mais Shared Memory</li>
<li>LC_COLLATE e LC_TYPE diferentes do instalado por padrão</li>
<li>Suporte a SSL</li>
<li>Sub select usado como Limit</li>
</ul>
<p>Para saber mais sobre as novidades do PostgreSQL 8.4 você pode ler <a href="http://www.midstorm.org/~fike/palestras/pg84.pdf" target="_blank">esse PDF</a><img src="http://www.webparatodos.com.br/wp-content/imagens/novo_site.gif" alt="Link Externo" /> criado pelo <a href="http://www.midstorm.org/~fike/weblog/" target="_blank">Fernando Ike de Oliveira</a><img src="http://www.webparatodos.com.br/wp-content/imagens/novo_site.gif" alt="Link Externo" /> ou acessar o <a href="http://www.postgresql.org/">PostgreSQL.org</a><img src="http://www.webparatodos.com.br/wp-content/imagens/novo_site.gif" alt="Link Externo" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.webparatodos.com.br/novas-versoes-do-php-firefox-e-postgresql/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Enviar email com o PHP</title>
		<link>http://www.webparatodos.com.br/enviar-email-com-o-php</link>
		<comments>http://www.webparatodos.com.br/enviar-email-com-o-php#comments</comments>
		<pubDate>Thu, 25 Jun 2009 05:10:25 +0000</pubDate>
		<dc:creator>Cristian Trentin</dc:creator>
				<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.webparatodos.com.br/?p=68</guid>
		<description><![CDATA[Muitos desenvolvedores fazem uso da função mail do PHP para o envio de e-mail, já a galera da programação Orientada a Objetos monta suas classes de envio. Porem não é todo mundo que conhece a classe PHPMailer, com ela é possível o envio de emails sem autenticação e com autenticação no servidor, ela é simples [...]]]></description>
			<content:encoded><![CDATA[<p>Muitos desenvolvedores fazem uso da função <a href="http://www.php.net/manual/pt_BR/function.mail.php">mail </a> <img src="http://www.webparatodos.com.br/wp-content/imagens/novo_site.gif" alt="Link Externo" /> do PHP para o envio de e-mail, já a galera da programação Orientada a Objetos monta suas classes de envio.</p>
<p>Porem não é todo mundo que conhece a classe <a href="http://phpmailer.codeworxtech.com/">PHPMailer<img src="http://www.webparatodos.com.br/wp-content/imagens/novo_site.gif" alt="Link Externo" /></a>, com ela é possível o envio de emails sem autenticação e com autenticação no servidor, ela é simples e muito fácil de usar. Envie anexos em seus email de olhos fechados!</p>
<p>Vamos a um exemplo, lembrando que não vou mostrar como montar um formulário e pegar esses dados por $_POST ou $_GET no PHP, Cristian mas eu não sei fazer isso! Não sabia, <a href="http://www.google.com.br/search?hl=pt-BR&amp;q=formularios+no+php&amp;btnG=Pesquisa+Google&amp;meta=&amp;aq=f&amp;oq=">aqui você irá aprender<img src="http://www.webparatodos.com.br/wp-content/imagens/novo_site.gif" alt="Link Externo" /></a><br />
<span id="more-68"></span>!<br />
Usando o PHPMailer</p>
<p><code>/**********************************************************************<br />
*	Arquivo: CONTATO-ENVIAR.php					*<br />
*	Data:	12/06/2009						*<br />
*	Autor: Cristian Trentin - admderede@gmail.com			*<br />
**********************************************************************/</p>
<p>//Requere o arquivo de Configuracao do Sistema<br />
require_once("include/class.phpmailer.php")/</p>
<p>$nome			=		isset($_POST['nome'])		?		trim(addslashes($_POST['nome']))		:		'';<br />
$email		=		isset($_POST['email'])		?		trim(addslashes($_POST['email']))		:		'';<br />
$assunto			=		isset($_POST['assunto'])			?		trim(addslashes($_POST['assunto']))			:		'';<br />
$msg				=		isset($_POST['msg'])				?		trim(addslashes($_POST['msg']))				:		'';</p>
<p>$phpMailer			= 		new PHPMailer();</p>
<p>$phpMailer-&gt;SetLanguage("br");</p>
<p>$phpMailer-&gt;IsMail();	//Seta o metodo de envio dessa msg, a mail é padrão não precisa nem setar<br />
$phpMailer-&gt;IsHTML(true); //Passando HTML true, isso permite usar HTML no corpo do email, pois o PHPMailer monta o Header da msg diferente do padrão</p>
<p>$phpMailer-&gt;From = $email; //Seta email remetente<br />
$phpMailer-&gt;FromName = $nome; //Seta nome remetente<br />
$phpMailer-&gt;AddAddress("contato@cristiantrentin.com.br"); //Seta destino da msg, aqui pode ser passado 'N' emails de destino<br />
$phpMailer-&gt;AddReplyTo("contato@cristiantrentin.com.br"); //Responder para<br />
$phpMailer-&gt;Subject = 'Mensagem do Site - '.$assunto; //Monta assunto da msg<br />
$phpMailer-&gt;Body = $msg; //Seta a msg</p>
<p>//Verifica o envio<br />
if( $Email-&gt;Send() ){</p>
<p>print 'Mensagem enviada, aguarde nosso contato.';</p>
<p>}else{</p>
<p>print 'Mensagem não enviada, tente novamente daqui alguns segundos.';</p>
<p></code></p>
<p><code> }<br />
?&gt;<br />
</code></p>
<p>*Lembrando que o código acima só irá funcionar se hospedado.</p>
<p>Mas e quando precisamos enviar emails autenticados com o SMTP?</p>
<p><code><br />
<!--?php</p--> </code></p>
<p><code> /**********************************************************************<br />
*	Arquivo: CONTATO-ENVIAR.php					*<br />
*	Data:	12/06/2009						*<br />
*	Autor: Cristian Trentin - admderede@gmail.com			*<br />
**********************************************************************/</code></p>
<p><code>//Requere o arquivo de Configuracao do Sistema<br />
require_once("include/class.phpmailer.php")/</p>
<p>require_once('../class.phpmailer.php');</p>
<p>$mail             = new PHPMailer();</p>
<p>$phpMailer-&gt;IsSMTP(); // seta que o envio é por SMTP<br />
$phpMailer-&gt;Host       = "mail.seudominio.com.br"; // SMTP server<br />
$phpMailer-&gt;SMTPAuth   = true;                  // Habilita a autenticação</p>
<p>$phpMailer-&gt;Port       = 25;                    // seta a porta de conexão<br />
$phpMailer-&gt;Username   = "seuemail@seudominio.com.br"; // usuario de conexão com o SMTP<br />
$phpMailer-&gt;Password   = "senha";        // senha do usuario conexão com o SMTP</p>
<p>//Dados Remetente<br />
$phpMailer-&gt;From = 'Cristian';<br />
$phpMailer-&gt;FromName = 'contato@cristiantrentin.com.br';</p>
<p>$phpMailer-&gt;AddReplyTo("contato@cristiantrentin.com.br"); //responder para</p>
<p>//Destinatario<br />
$phpMailer-&gt;AddAddress('email@destino.com.br');</p>
<p>$phpMailer-&gt;Subject    = "TESTE SMTP"; //assunto</p>
<p>$phpMailer-&gt;Body = 'Esse é um teste de envio';</p>
<p>$phpMailer-&gt;AddAttachment("relatorio.pdf");      // anexo</p>
<p>if( $phpMailer-&gt;Send() )<br />
print 'Msg enviada';<br />
else<br />
print 'Msg não enviada, tente novamente';</p>
<p></code></p>
<p><code>?&gt;<br />
</code></p>
<p><a href="http://www.experts-exchange.com/Web/Web_Languages/PHP/PHP_Windows/Q_21963190.html">Também é possível o envio de email autenticados usando o Gmail</a><img src="http://www.webparatodos.com.br/wp-content/imagens/novo_site.gif" alt="Link Externo" />, só lembrando você de habilitar no php.ini a extension &#8216;;extension=php_openssl.dll&#8217;.</p>
<p><strong>Links interessantes</strong></p>
<ul>
<li><a href="http://sourceforge.net/project/showfiles.php?group_id=26031&amp;package_id=252700">Download PHPMailer</a><img src="http://www.webparatodos.com.br/wp-content/imagens/novo_site.gif" alt="Link Externo" /></li>
<li><a href="http://phpmailer.codeworxtech.com/index.php?pg=examples">Mais exemplos com o PHPMailer</a><img src="http://www.webparatodos.com.br/wp-content/imagens/novo_site.gif" alt="Link Externo" /></li>
<li><a href="http://phpmailer.codeworxtech.com/index.php?pg=extending">Extends no PHPMailer</a><img src="http://www.webparatodos.com.br/wp-content/imagens/novo_site.gif" alt="Link Externo" /></li>
</ul>
<p>Bom pessoal é isso, para quem quer dar uma estudada ainda de uma procurada em envio de emails via socket, uma maneira uma pouco mais complexa para o envio de emails, lembrando apenas que o PHPMailer já faz isso para você.</p>
<p>*A <a href="http://www.htmlstaff.org/ver.php?id=3240">Indentação </a><img src="http://www.webparatodos.com.br/wp-content/imagens/novo_site.gif" alt="Link Externo" /> do código ficou estranha com esse plugin de code que estou usando, vou resolver isso logo logo&#8230;<br />
[]s</p>
]]></content:encoded>
			<wfw:commentRss>http://www.webparatodos.com.br/enviar-email-com-o-php/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Smarty é seu amigo</title>
		<link>http://www.webparatodos.com.br/smarty-e-seu-amigo</link>
		<comments>http://www.webparatodos.com.br/smarty-e-seu-amigo#comments</comments>
		<pubDate>Thu, 25 Jun 2009 03:43:55 +0000</pubDate>
		<dc:creator>Cristian Trentin</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[padrões]]></category>
		<category><![CDATA[smarty]]></category>

		<guid isPermaLink="false">http://www.webparatodos.com.br/?p=55</guid>
		<description><![CDATA[O Smarty é uma excelente Template Engine, facilitando assim o desenvolvimento de projetos PHP e fazendo com que seja mantido um padrão. Uso Smarty a um bom tempo em meus projetos, com ele é possível fazer um bom uso do conceito MVC, ou seja, separar o projeto em camadas Model, View e Controller (Mas isso [...]]]></description>
			<content:encoded><![CDATA[<p>O <a title="Smarty - Link Externo" href="http://www.smarty.net" target="_blank">Smarty </a><img src="http://www.webparatodos.com.br/wp-content/imagens/novo_site.gif" alt="Link Externo - Abre em outra Janela" /> é uma excelente Template Engine, facilitando assim o desenvolvimento de projetos <a title="Site do PHP - Link Externo" href="http://www.php.net" target="_blank">PHP </a><img class="alignnone" title="Link Externo - Novo Site" src="http://www.webparatodos.com.br/wp-content/imagens/novo_site.gif" alt="" width="14" height="10" /> e fazendo com que seja mantido um padrão.</p>
<p>Uso Smarty a um bom tempo em meus projetos, com ele é possível fazer um bom uso do conceito <strong>MVC</strong>, ou seja, separar o projeto em camadas Model, View e Controller (Mas isso é um papo para um outro post).</p>
<p>Mas o Smarty é o único Template Engine para o PHP?</p>
<p>Não, porem é o melhor!</p>
<p>Vamos listar alguns dos itens pelos quais eu uso smarty</p>
<ul>
<li>Separar conteúdo lógico de regra de negócio</li>
<li>Cache</li>
<li>Instalação e uso muito fácil</li>
<li>Plugins</li>
<li>Facilidade de uso (já falei isso)</li>
<li>Montadores de HTML e CSS alteram o TPL e não o seu PHP</li>
<li>É possível criar novos métodos para o Smarty, customizando assim a ferramenta para o seu projeto</li>
<li>Os arquivos não compilados toda vez que executados</li>
<li>O Smarty é experto o bastante para notar que tem alterações no template e compilar novamente</li>
</ul>
<p>Outra grande vantagem do uso do Smarty é a manutenção nos seus códigos, digamos que é necessário alterar toda a parte visual do projeto, isso pode ser facilmente resolvido e o melhor sem alterar nada do seu PHP, pois o que irá precisar ser alterado são os TPLs, o contrário também é válido, podendo mudar a regra de negócio sem alterar o visual.<br />
<span id="more-55"></span>!<br />
A idéia desse post não é lhe ensinar a usar o Smarty, configurar, alterar e sim existem maneiras de facilitar a sua vida no desenvolvimento de códigos PHPs.</p>
<p>Vamos a um exemplo de utilização</p>
<p><code><br />
<!--?php</p--> </code></p>
<p><code> /**********************************************************************<br />
*	Arquivo: Index.php													*<br />
*	Descrição:	Arquivo Responsavel por dar um dislpay na index.tpl		*<br />
*	Data:	23/04/2009													*<br />
*	Autor: Cristian Trentin - admderede@gmail.com						*<br />
**********************************************************************/</code></p>
<p><code>//Requere o arquivo smarty.inc.php<br />
require_once(ROOT."system/include/smarty.inc.php");</p>
<p>//Seta o nome para o tpl<br />
$smarty-&gt;assign('nome', 'Fulano de tal');</p>
<p></code></p>
<p><code> //Display no template<br />
$smarty-&gt;display('index.tpl');<br />
?&gt;<br />
</code></p>
<p>Esse é o nosso PHP, note que nele não existe nada de HTML, CSS ou JS, porém podemos notar que existem um $smarty-&gt;assign e um #smarty-&gt;display, o assign você seta um valor para ser usado no TPL, agora com o display você passa qual é o template a ser compilado. Simples Não?</p>
<p>Mas Cristian e como ficaria o TPL? Esse TPL teria o nome de &#8216;index.tpl&#8217; e deve estar dentro do diretório templates&#8230; diretório? Que diretório Cristian? Calma explico já já.</p>
<p><code><br />
&lt; html&gt;<br />
&lt; head&gt;<br />
&lt; title&gt;Exemplo de Smarty&lt; /title&gt;<br />
&lt; /head&gt;</code></p>
<p><code>&lt; body&gt;</p>
<p>{$nome} //Aqui passamos a variável que irá conter o conteúdo passado pelo php</p>
<p></code></p>
<p><code>&lt; /body&gt;<br />
&lt; /html&gt;<br />
</code></p>
<p>Fácil, não? Sim, muito fácil, mas e o diretório templates que você falou? Sim,  o Smarty necessita de quatro diretórios, que são chamados por padrão &#8216;templates&#8217;, &#8216;templates_c&#8217;, &#8216;configs&#8217; e &#8216;cache&#8217;.  Certo, mas eu não gostei desse nomes&#8230; Posso mudar? A resposta é sim, basta você alterar as propriedades da classe Smarty $template_dir, $compile_dir, $config_dir, e $cache_dir.</p>
<p><strong>Links importantes</strong></p>
<p><a title="Faça o download do Smarty - Link Externo" href="http://www.smarty.net/download.php">Para saber como fazer o download do Smarty<img class="alignnone" title="Link Externo - Novo Site" src="http://www.webparatodos.com.br/wp-content/imagens/novo_site.gif" alt="" width="14" height="10" /></a></p>
<p><a href="http://www.smarty.net/manual/pt_BR/installation.php">Instalação do Smarty<img class="alignnone" title="Link Externo - Novo Site" src="http://www.webparatodos.com.br/wp-content/imagens/novo_site.gif" alt="" width="14" height="10" /></a></p>
<p><a href="http://www.smarty.net/manual/pt_BR/">Manual do Smarty<img class="alignnone" title="Link Externo - Novo Site" src="http://www.webparatodos.com.br/wp-content/imagens/novo_site.gif" alt="" width="14" height="10" /></a></p>
<p><strong>Coisas que facilitam muito a minha vida</strong></p>
<ul>
<li>O <a href="http://www.smarty.net/manual/pt_BR/language.function.include.php">include </a><img class="alignnone" title="Link Externo - Novo Site" src="http://www.webparatodos.com.br/wp-content/imagens/novo_site.gif" alt="" width="14" height="10" />ajuda quando precisamos incluir arquivos padrões para todo o site (menu.tpl, meta.tpl, rodape.tpl)</li>
<li>Esse é o cara -&gt; <a href="http://www.smarty.net/manual/pt_BR/language.modifier.date.format.php">Date_format</a><img class="alignnone" title="Link Externo - Novo Site" src="http://www.webparatodos.com.br/wp-content/imagens/novo_site.gif" alt="" width="14" height="10" />, sim&#8230; Você não precisa ficar convertendo a data que recebeu do banco &#8217;2009-06-25&#8242;, esse cara faz isso para você</li>
<li><a href="http://www.smarty.net/manual/pt_BR/language.function.html.options.php">Html_option</a><img class="alignnone" title="Link Externo - Novo Site" src="http://www.webparatodos.com.br/wp-content/imagens/novo_site.gif" alt="" width="14" height="10" />,, muito bom quando precisamos montar um form com campos do tipo &#8216;select&#8217;</li>
</ul>
<p><strong>Cristian, tem mais ??? Sim, muito mais&#8230; leia o manual. []s</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://www.webparatodos.com.br/smarty-e-seu-amigo/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

