<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>PHPit</title>
	
	<link>http://www.phpit.com.br</link>
	<description>PHP levado a sério</description>
	<lastBuildDate>Tue, 21 May 2013 20:20:57 +0000</lastBuildDate>
	<language>pt-BR</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5.1</generator>
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/phpit" /><feedburner:info uri="phpit" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item>
		<title>Hangout com os palestrantes do Seminário PHP – Porto Alegre</title>
		<link>http://feedproxy.google.com/~r/phpit/~3/Aro_9hkCTCE/hangout-com-os-palestrantes-do-seminario-php-porto-alegre.phpit</link>
		<comments>http://www.phpit.com.br/artigos/hangout-com-os-palestrantes-do-seminario-php-porto-alegre.phpit#comments</comments>
		<pubDate>Tue, 21 May 2013 20:20:57 +0000</pubDate>
		<dc:creator>Rafael Jaques</dc:creator>
				<category><![CDATA[Hangouts]]></category>

		<guid isPermaLink="false">http://www.phpit.com.br/?p=619</guid>
		<description><![CDATA[<p><p>O post <a href="http://www.phpit.com.br/artigos/hangout-com-os-palestrantes-do-seminario-php-porto-alegre.phpit">Hangout com os palestrantes do Seminário PHP &#8211; Porto Alegre</a> apareceu primeiro em <a href="http://www.phpit.com.br">PHPit</a>.</p><p>Meu povo! Hoje, às 22h, ocorrerá um hangout especial! Hangout com os palestrantes do Seminário PHP &#8211; Porto Alegre. Vai ser bem interessante pra galera trocar ideias! Se você vai ou pretende ir no evento, não pode perder! Falaremos sobre o &#8230; <a href="http://www.phpit.com.br/artigos/hangout-com-os-palestrantes-do-seminario-php-porto-alegre.phpit">Continue lendo <span class="meta-nav">&#8594;</span></a></p></p><p>O post <a href="http://www.phpit.com.br/artigos/hangout-com-os-palestrantes-do-seminario-php-porto-alegre.phpit">Hangout com os palestrantes do Seminário PHP &#8211; Porto Alegre</a> apareceu primeiro em <a href="http://www.phpit.com.br">PHPit</a>.</p>]]></description>
				<content:encoded><![CDATA[<p>O post <a href="http://www.phpit.com.br/artigos/hangout-com-os-palestrantes-do-seminario-php-porto-alegre.phpit">Hangout com os palestrantes do Seminário PHP &#8211; Porto Alegre</a> apareceu primeiro em <a href="http://www.phpit.com.br">PHPit</a>.</p><p><a href="http://www.phpit.com.br/wp-content/uploads/2013/05/hangouts.png"><img class="aligncenter size-full wp-image-623" alt="Hangouts" src="http://www.phpit.com.br/wp-content/uploads/2013/05/hangouts.png" width="640" height="190" /></a></p>
<p>Meu povo!</p>
<p>Hoje, às 22h, ocorrerá um hangout especial! <a title="Hangout PHP" href="https://www.facebook.com/events/504983572884027/">Hangout com os palestrantes do Seminário PHP &#8211; Porto Alegre</a>. Vai ser bem interessante pra galera trocar ideias!</p>
<p>Se você vai ou pretende ir no evento, não pode perder! Falaremos sobre o conteúdo que você encontrará no seminário!</p>
<p>Então não perca a hora! Confirme presença na página do Facebook e fique ligado pois logo será divulgado o link para acesso!</p>
<p>Um abraço a todos e nos vemos lá!<br />
Fiquem com Deus!</p>
<!-- Start Shareaholic Recommendations Automatic --><!-- End Shareaholic Recommendations Automatic --><p>O post <a href="http://www.phpit.com.br/artigos/hangout-com-os-palestrantes-do-seminario-php-porto-alegre.phpit">Hangout com os palestrantes do Seminário PHP &#8211; Porto Alegre</a> apareceu primeiro em <a href="http://www.phpit.com.br">PHPit</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://www.phpit.com.br/artigos/hangout-com-os-palestrantes-do-seminario-php-porto-alegre.phpit/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.phpit.com.br/artigos/hangout-com-os-palestrantes-do-seminario-php-porto-alegre.phpit?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=hangout-com-os-palestrantes-do-seminario-php-porto-alegre</feedburner:origLink></item>
		<item>
		<title>Hangout – Carreira PHP</title>
		<link>http://feedproxy.google.com/~r/phpit/~3/tlcvahYdLAI/hangout-carreira-php.phpit</link>
		<comments>http://www.phpit.com.br/artigos/hangout-carreira-php.phpit#comments</comments>
		<pubDate>Tue, 21 May 2013 19:11:35 +0000</pubDate>
		<dc:creator>Rafael Jaques</dc:creator>
				<category><![CDATA[Dicas]]></category>
		<category><![CDATA[Hangouts]]></category>

		<guid isPermaLink="false">http://www.phpit.com.br/?p=610</guid>
		<description><![CDATA[<p><p>O post <a href="http://www.phpit.com.br/artigos/hangout-carreira-php.phpit">Hangout &#8211; Carreira PHP</a> apareceu primeiro em <a href="http://www.phpit.com.br">PHPit</a>.</p><p>Galera! Pra quem não viu, na noite/madrugada passada ocorreu o primeiro Hangout da CodeSquad. Falamos sobre Carreira de Programadores PHP. Houve mais de 300 pessoas confirmando presença no site do evento no Facebook e momentos em que havia mais de mais de &#8230; <a href="http://www.phpit.com.br/artigos/hangout-carreira-php.phpit">Continue lendo <span class="meta-nav">&#8594;</span></a></p></p><p>O post <a href="http://www.phpit.com.br/artigos/hangout-carreira-php.phpit">Hangout &#8211; Carreira PHP</a> apareceu primeiro em <a href="http://www.phpit.com.br">PHPit</a>.</p>]]></description>
				<content:encoded><![CDATA[<p>O post <a href="http://www.phpit.com.br/artigos/hangout-carreira-php.phpit">Hangout &#8211; Carreira PHP</a> apareceu primeiro em <a href="http://www.phpit.com.br">PHPit</a>.</p><p><a href="http://www.phpit.com.br/wp-content/uploads/2013/05/hangout.png"><img class="aligncenter size-full wp-image-617" alt="hangout" src="http://www.phpit.com.br/wp-content/uploads/2013/05/hangout.png" width="640" height="190" /></a></p>
<p>Galera!</p>
<p>Pra quem não viu, na noite/madrugada passada ocorreu o primeiro Hangout da CodeSquad. Falamos sobre Carreira de Programadores PHP.</p>
<p>Houve mais de 300 pessoas confirmando presença no site do <a href="http://www.facebook.com/events/428011520627549/?ref=2">evento no Facebook</a> e momentos em que havia mais de mais de 150 pessoas assistindo a transmissão ao vivo.</p>
<p>Sem dúvidas foi uma excelente troca de experiências em um hangout que contou com o idealizador Elton Minetto, <a href="http://www.facebook.com/kinncj?directed_target_id=428011520627549">Kinn Coelho Julião</a>, <a href="http://www.facebook.com/fabio.vedovelli?directed_target_id=428011520627549">Fábio Vedovelli</a>, <a href="http://www.facebook.com/silvanogjr?directed_target_id=428011520627549">Silvano Girardi Jr.</a>, <a href="http://www.facebook.com/alexandretaz?directed_target_id=428011520627549">Alexandre &#8220;Taz&#8221; Dos Santos Andrade</a> e este que vos fala.</p>
<p>Mas o hangout não teria sido esse sucesso se não fosse as mais de 100 pessoas que participaram contribuindo com suas dúvidas e sugestões.</p>
<p>Se você perdeu a transmissão pode assistir no vídeo:</p>
<p>&nbsp;<br />
<iframe id="_ytid_35308" width="640" height="390" src="http://www.youtube.com/embed/57J6uX5VNUA?enablejsapi=1&#038;autoplay=0&#038;cc_load_policy=0&#038;iv_load_policy=1&#038;loop=0&#038;modestbranding=0&#038;rel=1&#038;showinfo=1&#038;theme=dark&#038;" frameborder="0" allowfullscreen type="text/html" class="__youtube_prefs__"></iframe><br />
&nbsp;</p>
<p>Os slides que o Minetto <span style="text-decoration: line-through;">tentou mostrar</span> apresentou, estão no <a href="https://speakerdeck.com/eminetto/carreira-php">SpeakerDeck</a>.</p>
<p>Se você se interessou pela carreira PHP, não esqueça de se cadastrar no <a href="http://code-squad.com/carreiras">Carreiras Code Squad</a> para receber as novidades sobre os cursos que eles estão preparando.</p>
<p>Um abraço a todos e fiquem com Deus!</p>
<!-- Start Shareaholic Recommendations Automatic --><!-- End Shareaholic Recommendations Automatic --><p>O post <a href="http://www.phpit.com.br/artigos/hangout-carreira-php.phpit">Hangout &#8211; Carreira PHP</a> apareceu primeiro em <a href="http://www.phpit.com.br">PHPit</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://www.phpit.com.br/artigos/hangout-carreira-php.phpit/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.phpit.com.br/artigos/hangout-carreira-php.phpit?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=hangout-carreira-php</feedburner:origLink></item>
		<item>
		<title>Iniciando com Laravel PHP</title>
		<link>http://feedproxy.google.com/~r/phpit/~3/cWjBjzslnO8/iniciando-com-laravel-php.phpit</link>
		<comments>http://www.phpit.com.br/artigos/iniciando-com-laravel-php.phpit#comments</comments>
		<pubDate>Sat, 18 May 2013 18:48:19 +0000</pubDate>
		<dc:creator>Rafael Jaques</dc:creator>
				<category><![CDATA[Frameworks]]></category>

		<guid isPermaLink="false">http://www.phpit.com.br/?p=593</guid>
		<description><![CDATA[<p><p>O post <a href="http://www.phpit.com.br/artigos/iniciando-com-laravel-php.phpit">Iniciando com Laravel PHP</a> apareceu primeiro em <a href="http://www.phpit.com.br">PHPit</a>.</p><p>Se você tem andado próximo à cena PHP, deve ter visto todo o alarde criado em volta do framework Laravel. Neste artigo vou tentar ser bem prático, falar sobre as primeiras impressões e como iniciar os trabalhos! Instalando o Laravel &#8230; <a href="http://www.phpit.com.br/artigos/iniciando-com-laravel-php.phpit">Continue lendo <span class="meta-nav">&#8594;</span></a></p></p><p>O post <a href="http://www.phpit.com.br/artigos/iniciando-com-laravel-php.phpit">Iniciando com Laravel PHP</a> apareceu primeiro em <a href="http://www.phpit.com.br">PHPit</a>.</p>]]></description>
				<content:encoded><![CDATA[<p>O post <a href="http://www.phpit.com.br/artigos/iniciando-com-laravel-php.phpit">Iniciando com Laravel PHP</a> apareceu primeiro em <a href="http://www.phpit.com.br">PHPit</a>.</p><p><a href="http://www.phpit.com.br/wp-content/uploads/2013/05/laravel.jpg"><img class="size-full wp-image-595" alt="Laravel PHP" src="http://www.phpit.com.br/wp-content/uploads/2013/05/laravel.jpg" width="640" height="190" /></a></p>
<p>Se você tem andado próximo à cena PHP, deve ter visto todo o alarde criado em volta do framework <a title="Laravel" href="http://laravel.com" target="_blank">Laravel</a>.</p>
<p>Neste artigo vou tentar ser bem prático, falar sobre as primeiras impressões e como iniciar os trabalhos!</p>
<h2>Instalando o Laravel</h2>
<p>Uma coisa bacana de frameworks como o CodeIgniter é que você apenas joga os arquivos dele em um diretório que o servidor web conheça e estamos prontos. As únicas configurações que precisam ser feita são referentes ao banco de dados, informações básicas do seu site (url, mod_rewrite, etc) e quais recursos devem ser carregados automaticamente.</p>
<p>A desvantagem dessa simplicidade, é que todos os arquivos do framework acabam ficando em um diretório acessível publicamente. Você pode muda isso, mas vai te custar alguns passos a mais. Isso não ocorre no Ruby on Rails ou em frameworks PHP como o Zend, pois possuem um diretório <code>public</code> tão logo você cria a sua aplicação. E o Laravel? Sim, possui um diretório público também! Então quando você cria ou seu domínio local (ou virtual), você deve ter certeza de que está apontando para o diretório público:</p>
<p><a href="http://www.phpit.com.br/wp-content/uploads/2013/05/laravel1.png"><img class="aligncenter size-full wp-image-598" alt="laravel1" src="http://www.phpit.com.br/wp-content/uploads/2013/05/laravel1.png" width="407" height="250" /></a></p>
<p>Existem algumas permissões para modificar também. Você precisa dar permissão de escrita para <code>/storage/views</code>. Além disso, não há muito o que fazer nesse estágio. Estamos próximos a botar pra funcionar no nosso navegador.</p>
<p>Até agora nós já baixamos o código, despejamos em um diretório habilitado na web, criamos um domínio local, alteramos a permissão de um diretório e estamos prontos! Parece tranquilo, não?</p>
<p>Entretanto, ainda precisamos fazer mais algumas coisinhas. Primeiro, abra <code>config/application.php</code> e altere estas opções:</p>
<pre class="brush: php; title: ; notranslate">

'index' =&gt; '',

/*
|--------------------------------------------------------------------------
| Application Key
|--------------------------------------------------------------------------
|
| This key is used by the encryption and cookie classes to generate secure
| encrypted strings and hashes. It is extremely important that this key
| remains secret and it should not be shared with anyone. Make it about 32
| characters of random gibberish.
|
*/

'key' =&gt; 'SuaChaveSecretaVaiAqui!',</pre>
<p>Você precisa colocar alguma coisa na chave e pode remover o &#8216;index.php&#8217;, assim podemos utilizar URLs mais bonitas. Agora você já pode botar pra rodar o seu navegador e apontar para o domínio local:</p>
<p><a href="http://www.phpit.com.br/wp-content/uploads/2013/05/laravel2.png"><img class="aligncenter size-full wp-image-602" alt="laravel2" src="http://www.phpit.com.br/wp-content/uploads/2013/05/laravel2.png" width="433" height="300" /></a></p>
<p>Maravilha! Positivo e operante! Mas ainda existe algo que podemos fazer: adicionar um banco de dados. Como os exemplos clássicos sempre falam em criar blogs, caso você vá seguir este caminho, seria interessante adicionar suporte a sessões (por causa da autenticação de usuários). O banco padrão é o MySQL, mas você pode escolher entre muitos outros.</p>
<p>Abra <code>application/config/database.php</code> e adicione os dados de autenticação na seção do MySQL:</p>
<pre class="brush: php; title: ; notranslate">'mysql' =&gt; array(
 'driver' =&gt; 'mysql',
 'host' =&gt; '127.0.0.1',
 'database' =&gt; 'database',
 'username' =&gt; 'root',
 'password' =&gt; '',
 'charset' =&gt; 'utf8',
 'prefix' =&gt; '',
),</pre>
<h2>Trabalhando com sessões</h2>
<p>Os dados de sessão ficam armazenados numa tabela no banco, então precisamos adicioná-la. Também é importante comentar que o Laravel utiliza <em>migrations</em>, que é uma espécie de controle de versão do banco de dados. Se você já trabalhou com Rails, deve saber do que estou falando.</p>
<p>O Laravel vem também com uma ferramenta CLI muito útil, chamada Artisan. Nós precisamos utilizá-la para habilitar nosso banco de dados para acompanhar nossas migrations. Abra o Terminal, navegue até o diretório do projeto e faça o seguinte:</p>
<pre class="brush: php; title: ; notranslate">php artisan migrate:install</pre>
<p>Você deve ver uma resposta como essa:</p>
<pre class="brush: plain; title: ; notranslate">Migration table created successfully.</pre>
<p>Isso vai criar a tabela de migrations. Agora volte para o terminal e execute o seguinte:</p>
<pre class="brush: php; title: ; notranslate">php artisan session:table</pre>
<p>O resultado deve ser algo assim:</p>
<pre class="brush: plain; title: ; notranslate">An application key already exists!
Great! New migration created!
Migrated: application/2013_05_08_213358_create_session_table</pre>
<p>E então temos nossa tabela de sessão criada!</p>
<h2>Finalmente</h2>
<p>Agora já estamos instigados a continuar indo mais fundo no Laravel para entender como realmente funciona! Configurar uma nova aplicação é realmente muito simples e a ferramenta CLI é muito útil!</p>
<p>Espero que tenham conseguido tirar alguma informação útil e que isso possa ajudá-los a explorarem esse novo framework!</p>
<p>Postem comentários com sugestões ou contribuições!</p>
<p>Um abraço e fiquem com Deus!</p>
<p><em id="__mceDel"><em style="font-size: small;">Texto adaptado do original: <a href="http://www.andyhawthorne.co.uk/getting-started-with-laravel-php/" target="_blank">http://www.andyhawthorne.co.uk/getting-started-with-laravel-php/</a></em></em></p>
<!-- Start Shareaholic Recommendations Automatic --><!-- End Shareaholic Recommendations Automatic --><p>O post <a href="http://www.phpit.com.br/artigos/iniciando-com-laravel-php.phpit">Iniciando com Laravel PHP</a> apareceu primeiro em <a href="http://www.phpit.com.br">PHPit</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://www.phpit.com.br/artigos/iniciando-com-laravel-php.phpit/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.phpit.com.br/artigos/iniciando-com-laravel-php.phpit?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=iniciando-com-laravel-php</feedburner:origLink></item>
		<item>
		<title>Seminário PHP em Porto Alegre: O melhor da PHP Conference Brasil</title>
		<link>http://feedproxy.google.com/~r/phpit/~3/fReuQdehRY0/seminario-php-em-porto-alegre.phpit</link>
		<comments>http://www.phpit.com.br/artigos/seminario-php-em-porto-alegre.phpit#comments</comments>
		<pubDate>Tue, 07 May 2013 17:21:15 +0000</pubDate>
		<dc:creator>Rafael Jaques</dc:creator>
				<category><![CDATA[Eventos]]></category>

		<guid isPermaLink="false">http://www.phpit.com.br/?p=586</guid>
		<description><![CDATA[<p><p>O post <a href="http://www.phpit.com.br/artigos/seminario-php-em-porto-alegre.phpit">Seminário PHP em Porto Alegre: O melhor da PHP Conference Brasil</a> apareceu primeiro em <a href="http://www.phpit.com.br">PHPit</a>.</p><p>Salve, galera! Estou aqui para divulgar mais um grande evento de PHP no nosso amado RS! Tempo Real Eventos e Er Galvão Abbott trazem a Porto Alegre o Seminário PHP: O melhor da PHP Conference Brasil! Pela primeira vez fora do estado de São &#8230; <a href="http://www.phpit.com.br/artigos/seminario-php-em-porto-alegre.phpit">Continue lendo <span class="meta-nav">&#8594;</span></a></p></p><p>O post <a href="http://www.phpit.com.br/artigos/seminario-php-em-porto-alegre.phpit">Seminário PHP em Porto Alegre: O melhor da PHP Conference Brasil</a> apareceu primeiro em <a href="http://www.phpit.com.br">PHPit</a>.</p>]]></description>
				<content:encoded><![CDATA[<p>O post <a href="http://www.phpit.com.br/artigos/seminario-php-em-porto-alegre.phpit">Seminário PHP em Porto Alegre: O melhor da PHP Conference Brasil</a> apareceu primeiro em <a href="http://www.phpit.com.br">PHPit</a>.</p><p><a href="http://www.phpit.com.br/wp-content/uploads/2013/05/seminario_php_poa.png"><img class="size-full wp-image-589" alt="Seminário PHP em Porto Alegre" src="http://www.phpit.com.br/wp-content/uploads/2013/05/seminario_php_poa.png" width="640" height="190" /></a></p>
<p>Salve, galera!</p>
<p>Estou aqui para divulgar mais um grande evento de PHP no nosso amado RS!</p>
<p><a href="http://www.temporealeventos.com.br/" target="_blank" data-hovercard="/ajax/hovercard/page.php?id=117417328292893&amp;extragetparams=%7B%22group_id%22%3A0%7D">Tempo Real Eventos</a> e <a id="js_19" href="http://galvao.eti.br/" target="_blank" data-hovercard="/ajax/hovercard/user.php?id=1018018059&amp;extragetparams=%7B%22group_id%22%3A0%7D">Er Galvão Abbott</a> trazem a Porto Alegre o <a href="http://www.temporealeventos.com.br/?area=278-seminario-php-o-melhor-da-php-conference-brasil-2012-porto-alegre-rs" target="_blank" data-hovercard="/ajax/hovercard/event.php?id=253034431507349&amp;extragetparams=%7B%22group_id%22%3A0%7D">Seminário PHP: O melhor da PHP Conference Brasil</a>!</p>
<p>Pela primeira vez fora do estado de São Paulo, um evento exclusivíssimo que traz palestras que foram destaque na <a href="http://www.phpconf.com.br/" target="_blank" data-hovercard="/ajax/hovercard/page.php?id=227545557259811&amp;extragetparams=%7B%22group_id%22%3A0%7D">PHP Conference Brasil</a> 2012!</p>
<p>O evento ocorrerá no sábado, dia 8 de Junho, na <a href="http://www.uniritter.edu.br/" target="_blank" data-hovercard="/ajax/hovercard/page.php?id=222244774478273&amp;extragetparams=%7B%22group_id%22%3A0%7D">UniRitter</a> em Porto Alegre &#8211; RS!</p>
<p>Para mais detalhes sobre inscrições e grade de palestras, você pode acessar o <a href="http://www.temporealeventos.com.br/?area=278-seminario-php-o-melhor-da-php-conference-brasil-2012-porto-alegre-rs" target="_blank">site</a> do evento ou então a <a title="Seminário PHP" href="https://www.facebook.com/events/253034431507349" target="_blank">página no Facebook</a>.</p>
<p>Nos vemos lá!</p>
<p>Um abraço a todos e fiquem com Deus.<br />
Rafael Jaques</p>
<!-- Start Shareaholic Recommendations Automatic --><!-- End Shareaholic Recommendations Automatic --><p>O post <a href="http://www.phpit.com.br/artigos/seminario-php-em-porto-alegre.phpit">Seminário PHP em Porto Alegre: O melhor da PHP Conference Brasil</a> apareceu primeiro em <a href="http://www.phpit.com.br">PHPit</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://www.phpit.com.br/artigos/seminario-php-em-porto-alegre.phpit/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.phpit.com.br/artigos/seminario-php-em-porto-alegre.phpit?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=seminario-php-em-porto-alegre</feedburner:origLink></item>
		<item>
		<title>Criando um View Helper básico no Zend Framework 2</title>
		<link>http://feedproxy.google.com/~r/phpit/~3/8g3ykv4X4hQ/criando-um-view-helper-basico-no-zend-framework-2.phpit</link>
		<comments>http://www.phpit.com.br/artigos/criando-um-view-helper-basico-no-zend-framework-2.phpit#comments</comments>
		<pubDate>Wed, 27 Mar 2013 19:37:58 +0000</pubDate>
		<dc:creator>Rafael Jaques</dc:creator>
				<category><![CDATA[Zend Framework 2]]></category>
		<category><![CDATA[zend framework 2]]></category>

		<guid isPermaLink="false">http://www.phpit.com.br/?p=570</guid>
		<description><![CDATA[<p><p>O post <a href="http://www.phpit.com.br/artigos/criando-um-view-helper-basico-no-zend-framework-2.phpit">Criando um View Helper básico no Zend Framework 2</a> apareceu primeiro em <a href="http://www.phpit.com.br">PHPit</a>.</p><p>Esse post vai mostrar como construir um View Helper básico no Zend Framework 2. Neste exemplo o nosso helper vai apenas retornar a URL absoluta da página/requisição atual. Como você pode perceber, este helper possui uma dependência &#8211; um objeto &#8230; <a href="http://www.phpit.com.br/artigos/criando-um-view-helper-basico-no-zend-framework-2.phpit">Continue lendo <span class="meta-nav">&#8594;</span></a></p></p><p>O post <a href="http://www.phpit.com.br/artigos/criando-um-view-helper-basico-no-zend-framework-2.phpit">Criando um View Helper básico no Zend Framework 2</a> apareceu primeiro em <a href="http://www.phpit.com.br">PHPit</a>.</p>]]></description>
				<content:encoded><![CDATA[<p>O post <a href="http://www.phpit.com.br/artigos/criando-um-view-helper-basico-no-zend-framework-2.phpit">Criando um View Helper básico no Zend Framework 2</a> apareceu primeiro em <a href="http://www.phpit.com.br">PHPit</a>.</p><p><img class="size-full wp-image-580 alignnone" alt="View Helper com Zend Framework 2" src="http://www.phpit.com.br/wp-content/uploads/2013/03/viewhelper_zf2.png" width="640" height="190" /></p>
<p>Esse post vai mostrar como construir um View Helper básico no Zend Framework 2.</p>
<p>Neste exemplo o nosso helper vai apenas retornar a URL absoluta da página/requisição atual.</p>
<pre class="brush: php; title: ; notranslate">&lt;?php
// ./module/Application/src/Application/View/Helper/AbsoluteUrl.php
namespace Application\View\Helper;

use Zend\Http\Request;
use Zend\View\Helper\AbstractHelper;

class AbsoluteUrl extends AbstractHelper
{
    protected $request;

    public function __construct(Request $request)
    {
        $this-&gt;request = $request;
    }

    public function __invoke()
    {
        return $this-&gt;request-&gt;getUri()-&gt;normalize();
    }
}</pre>
<p>Como você pode perceber, este helper possui uma dependência &#8211; um objeto <span class="filename">Zend\Http\Request</span>. O Zend Framework 2 possui uma maneira bem simples para injetar as dependências. Nós precisaremos de uma factory com a inicialização lógica para o nosso view helper:</p>
<pre class="brush: php; title: ; notranslate">&lt;?php
// ./module/Application/Module.php
namespace Application;

use Application\View\Helper\AbsoluteUrl;

class Module
{
    public function getViewHelperConfig()
    {
        return array(
            'factories' =&gt; array(
                // a chave do array aqui é o nome pelo qual você
                // chamará o seu view helper no script da view
                'absoluteUrl' =&gt; function($sm) {
                    $locator = $sm-&gt;getServiceLocator();

                    // $sm é o gerenciador de view helpers (view
                    // helper manager), então nós precisamos
                    // coletar o gerenciador de serviços principal

                    return new AbsoluteUrl($locator-&gt;get('Request'));
                },
            ),
        );
    }

     // Se for copiar/colar esse exemplo, você precisará também
     // do método getAutoloaderConfig(); acabei omitindo para
     // deixar o exemplo mais curto.
}</pre>
<p>E é isso! Agora podemos chamar nosso helper nas nossas views:</p>
<div>
<pre class="brush: php; title: ; notranslate">A URL completa para esta página é: &lt;?php echo $this-&gt;absoluteUrl(); ?&gt;</pre>
<p>Dúvidas? Postem nos comentários!</p>
<p>Bons estudos a todos! Um abraço e fiquem com Deus.</p>
</div>
<p><em><span style="font-size: small;">Texto adaptado do original: <a title="texto original" href="http://blog.evan.pro/creating-a-simple-view-helper-in-zend-framework-2" target="_blank">http://blog.evan.pro/creating-a-simple-view-helper-in-zend-framework-2</a></span></em></p>
<!-- Start Shareaholic Recommendations Automatic --><!-- End Shareaholic Recommendations Automatic --><p>O post <a href="http://www.phpit.com.br/artigos/criando-um-view-helper-basico-no-zend-framework-2.phpit">Criando um View Helper básico no Zend Framework 2</a> apareceu primeiro em <a href="http://www.phpit.com.br">PHPit</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://www.phpit.com.br/artigos/criando-um-view-helper-basico-no-zend-framework-2.phpit/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://www.phpit.com.br/artigos/criando-um-view-helper-basico-no-zend-framework-2.phpit?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=criando-um-view-helper-basico-no-zend-framework-2</feedburner:origLink></item>
		<item>
		<title>Ensinando Java a Programadores PHP</title>
		<link>http://feedproxy.google.com/~r/phpit/~3/fIXHIKjQI3c/ensinando-java-a-programadores-php.phpit</link>
		<comments>http://www.phpit.com.br/artigos/ensinando-java-a-programadores-php.phpit#comments</comments>
		<pubDate>Wed, 27 Mar 2013 17:50:47 +0000</pubDate>
		<dc:creator>Rafael Jaques</dc:creator>
				<category><![CDATA[Tópicos Avançados]]></category>
		<category><![CDATA[java]]></category>

		<guid isPermaLink="false">http://www.phpit.com.br/?p=537</guid>
		<description><![CDATA[<p><p>O post <a href="http://www.phpit.com.br/artigos/ensinando-java-a-programadores-php.phpit">Ensinando Java a Programadores PHP</a> apareceu primeiro em <a href="http://www.phpit.com.br">PHPit</a>.</p><p>Então você quer aprender Java mas só tem experiência de programação com o PHP? Esse texto é pra você! Não é segredo pra ninguém que atualmente os profissionais precisam conhecer mais de uma tecnologia. Precisamos estar abertos a novidades e, &#8230; <a href="http://www.phpit.com.br/artigos/ensinando-java-a-programadores-php.phpit">Continue lendo <span class="meta-nav">&#8594;</span></a></p></p><p>O post <a href="http://www.phpit.com.br/artigos/ensinando-java-a-programadores-php.phpit">Ensinando Java a Programadores PHP</a> apareceu primeiro em <a href="http://www.phpit.com.br">PHPit</a>.</p>]]></description>
				<content:encoded><![CDATA[<p>O post <a href="http://www.phpit.com.br/artigos/ensinando-java-a-programadores-php.phpit">Ensinando Java a Programadores PHP</a> apareceu primeiro em <a href="http://www.phpit.com.br">PHPit</a>.</p><p><img class="size-full wp-image-556 aligncenter" alt="PHP e Java" src="http://www.phpit.com.br/wp-content/uploads/2013/03/phpjava.png" width="640" height="190" /></p>
<p>Então você quer aprender Java mas só tem experiência de programação com o PHP? Esse texto é pra você!</p>
<p>Não é segredo pra ninguém que atualmente os profissionais precisam conhecer mais de uma tecnologia. Precisamos estar abertos a novidades e, te prometo, que aprender uma nova linguagem não tira pedaço. Pelo contrário, saber mais de uma linguagem, além de deixar o seu cérebro mais afiado, ainda te dá um currículo mais pesado e maior probabilidade de conseguir um bom emprego.</p>
<p>Como uma das linguagens mais utilizadas para programação Android é o Java, muitos estão tentando assimilá-la ultimamente. Neste artigo tentarei cobrir tudo que alguém que sabe apenas PHP precisaria saber para detonar no Java. Dê uma boa lida no material que segue e responderei algumas questões ao longo do caminho.</p>
<h2>Java é uma linguagem fortemente tipada</h2>
<p>Talvez você não esteja acostumado com o conceito de &#8220;declarar&#8221; variáveis. No Java você precisa declará-las antes de utilizar.</p>
<pre class="brush: java; title: ; notranslate">DatabaseRecord foo;
foo = new DatabaseRecord();</pre>
<p>Na linha 1 declaramos a variável apenas especificando seu tipo (assim podemos nos assegurar de que a variável <em>foo</em> conterá apenas um objeto do tipo <em>DatabaseRecord</em>). Na linha seguinte, criamos um novo objeto <em>DatabaseRecord</em> e o atribuímos a <em>banco</em>. Você também pode fazer isso tudo em uma linha apenas:</p>
<pre class="brush: java; title: ; notranslate">DatabaseRecord foo = new DatabaseRecord();</pre>
<p>Aqui quando <em>foo</em> é declarada, qualquer valor que for atribuído a esta variável deve ser do tipo <em>DatabaseRecord</em>. E daqui em diante, você só poderá atribuir valores do tipo <em>DatabaseRecord</em> para a variável <em>foo</em>, enquanto no Mundo do PHP você poderia colocar uma string em uma variável na qual havia um objeto apenas alguns segundos atrás.</p>
<p>Então, o código PHP a seguir é válido:</p>
<pre class="brush: php; title: ; notranslate">$foo = new Bar();
$foo = &quot;Bla bla bla&quot;;</pre>
<p>Mas o equivalente não é válido em Java:</p>
<pre class="brush: java; title: ; notranslate">DatabaseRecord foo = new DatabaseRecord();
foo = &quot;Bla bla bla&quot;;</pre>
<p>Até métodos precisam ter o tipo do retorno especificado:</p>
<p>Em PHP:</p>
<pre class="brush: php; title: ; notranslate">class myClass {
    public function getName() {
        return &quot;Rafa Jaques&quot;;
    }
}</pre>
<p>Em Java:</p>
<pre class="brush: java; title: ; notranslate">class myClass {
    public String getName() {
        return &quot;Rafa Jaques&quot;;
    }
}</pre>
<p>É importante perceber que você não deve especificar que é uma <em>função</em>. Para funções que não retornam nenhum valor ou retornam apenas com &#8220;return;&#8221;, utilize <em>void</em> no lugar de <em>String</em>.</p>
<h2>Propriedades do objeto são chamadas de fields</h2>
<p>No PHP os objetos possuem <em>propriedades</em>:</p>
<pre class="brush: php; title: ; notranslate">class myClass {
    public $foo = 'bar';
    protected $_bar = 'baz';
}</pre>
<p>Em Java existem <em>fields </em>(campos). A sintaxe é similar e você precisa especificar um tipo para cada <em>field</em>.</p>
<pre class="brush: java; title: ; notranslate">class myClass {
    public String mFoo = 'bar';
    protected String mBar = 'baz';
}</pre>
<p>Uma convenção que eu vi nos códigos de exemplo pra Android foi preceder cada um desses fields com a letra &#8216;m&#8217; (de &#8216;Member Field&#8217;). Eu achei bem útil para identificar quais variáveis são fields do atual objeto, especialmente se você levar em conta o próximo ponto.</p>
<h2>Você não utiliza <em>this</em> muito frequentemente</h2>
<p>Quando estiver acessando propriedades no Java, você não utiliza <span class="filename">$this</span>.</p>
<p>No PHP você faria:</p>
<pre class="brush: php; title: ; notranslate">class myClass {
    protected $_bar = 'baz';

    public function getBar() {
        return $this-&gt;_bar;
    }
}</pre>
<p>No java não é obrigatório usar o <em>this </em>para esses casos.</p>
<pre class="brush: java; title: ; notranslate">class myClass {
    protected String mBar = 'baz';

    public String getBar() {
        return mBar;
    }
}</pre>
<p>A única vez que você realmente precisa do <em>this</em> é quando ocorre uma colisão de nomes e acaba não ficando muito claro qual variável você está referenciando. Vejamos um exemplo:</p>
<p>Em Java:</p>
<pre class="brush: java; title: ; notranslate">class myClass {
    protected String mBar = 'baz';

    public String getBar(String mBar) {
        return this.mBar; // especifique o &quot;this&quot; para acessar o field mBar
                          // em vez do mBar que foi passado como parâmetro
                          // para o método
    }
}</pre>
<h2>Annotations (ex.: @override)</h2>
<p>Quando você começar a sobrecarregar métodos, perceberá um <em>@override</em> antecedendo os métodos que são sobrescritos (geralmente a IDE coloca isso lá).</p>
<p>Essas anotações servem para fazer Reflection (falarei mais sobre isso a seguir). Como é um assunto bastante extenso, não vou explicar em detalhes o que é aqui, <a title="java annotations" href="http://www.javasimples.com.br/core-java/annotations-o-que-pra-que-serve" target="_blank">mas deixo um link</a> para que você possa aprofundar seus estudos sobre annotations e reflection.</p>
<p>Você pode criar as annotations que quiser por qualquer motivo que der na telha e depois acessar annotations de um método específico usando reflection.</p>
<p>Aqui está um exemplo da utilização de annotations:</p>
<pre class="brush: java; title: ; notranslate">class MyActivity extends Activity {
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        return super.onCreateOptionsMenu(menu);
    }
}</pre>
<h2>Reflection – &#8220;O que é Object.class?&#8221;</h2>
<p>Cada classe que você declara essencialmente estende a classe Objeto. Essa classe lhe dará um punhado de métodos e fields padrão. Um deles é o membro estático acessado via <em>NomeDaClasse.class </em>cujo o objetivo é retornar o objeto <em>Classe</em>.</p>
<p>Esse objeto <em>classe</em> descreve seu objeto e possui vários métodos para explorá-lo. Por exemplo: você pode utilizá-lo para verificar quais annotations um método possui, ou pode também passar informações para que outro método saiba qual classe criar.</p>
<p>Você deve ver algo parecido com isso:</p>
<pre class="brush: java; title: ; notranslate">String someObject = &quot;Uma string&quot;;
Intent i = new Intent(someObject, MyActivity.class)</pre>
<p>Esse código cria um novo objeto <em>Intent</em>, passando um objeto string e depois passando um objeto <em>Classe</em> do field estático <em>MyActivity.class</em>. Por exemplo: internamente o objeto <em>Intent</em> pode utilizar o objeto <em>Classe</em> para criar um novo objeto <em>MyActivity</em> pois o objeto dessa classe possui um método <em>newInstance()</em>.</p>
<h2>Parênteses angulares genéricos em Java</h2>
<p>Se por acaso você ver algo do tipo, poderá ficar um pouco confuso:</p>
<pre class="brush: java; title: ; notranslate">List&lt;Integer&gt; = new LinkedList&lt;Integer&gt;();</pre>
<p>São conhecidos como <em>generics</em> e permitem a você indicar ao objeto <em>List</em> que tipo de objeto ele estará armazenando.</p>
<p>Se quiser ler mais sobre generics, recomendo dar uma lida <a title="tutorial de generics" href="http://www.tiexpert.net/programacao/java/generics.php" target="_blank">neste link</a>, pois possui um tutorial bem detalhado.</p>
<h2>Arrays não são mais a solução</h2>
<p>Em Java você não irá achar arrays tão úteis quanto no PHP no qual você pode declarar um array sem especificar tamanho, tipo ou qualquer outra coisa.</p>
<p>Quando criar arrays em Java você precisará especificar o tamanho e só poderá atribuir valores de um mesmo tipo de objeto (tudo string ou tudo integer, por exemplo).</p>
<p>Então em PHP teríamos:</p>
<pre class="brush: php; title: ; notranslate">$stringArray = array('Um', 'Dois', 'Três');</pre>
<p>Em Java:</p>
<pre class="brush: java; title: ; notranslate">String[3] stringArray;
stringArray[0] = &quot;Um&quot;;
stringArray[1] = &quot;Dois&quot;;
stringArray[2] = &quot;Três&quot;;</pre>
<p>Perceba que declara-se um array colocando parênteses quadrados (colchetes) contendo o tamanho do array. Então você poderá acessar esses, e apenas esses, três elementos.</p>
<p>Se quiser uma lista de objetos de tamanho não especificado, provavelmente você quer uma lista encadeada: <em>LinkedList</em>. A utilização é como segue:</p>
<pre class="brush: java; title: ; notranslate">LinkedList myList = new LinkedList();
myList.add(new MyObject());
myList.add(new MyObject());
myList.add(new MyObject());</pre>
<p>Esse snippet adiciona três objetos <em>MyObject</em> à lista. O jeito mais simples de percorrer uma lista encadeada é utilizando a sintaxe do foreach, que é semelhante à do PHP. Utilizar um loop com <span class="filename">myList.size()</span> também funciona.</p>
<p>Para interagir utilizando o foreach, você precisa trabalhar sobre algo que implemente a interface <em>Collection</em>. Tanto <em>List</em> quanto <em>LinkedList</em> implementam essa interface, então o código ficaria mais ou menos assim:</p>
<pre class="brush: java; title: ; notranslate">LinkedList myList = new LinkedList();
myList.add(new MyObject());
myList.add(new MyObject());
myList.add(new MyObject());

for (MyObject myobj : myList) {
    myobj.doSomething();
}</pre>
<p>Mais ou menos algo como <em>para cada (MyObject)myObj em myList, faça isso</em>. O equivalente em PHP seria:</p>
<pre class="brush: php; title: ; notranslate">$myList = array();
$myList[] = new MyObject();
$myList[] = new MyObject();
$myList[] = new MyObject();

foreach ($myList as $myObj) {
    $myObj.doSomething();
}</pre>
<p>Pessoalmente eu acho que a maneira do Java faz mais sentido. No PHP parece que estamos fazendo de trás pra frente.</p>
<h2>Arrays Associativos</h2>
<p>Até o presente momento quando você não possuir alternativa e precisar utilizar arrays associativos, terá de apelar para <em>hashtables</em>.</p>
<p>Dê uma olhada <a title="hashtable, hashmap e hashcode" href="http://trialforce.nostaljia.eng.br/?p=191" target="_blank">neste link</a> para aprender mais sobre <em>HashTable</em>, <em>HashMap </em>e <em>HashCode</em>.</p>
<p>Perceba também que você precisará dar cast nos objetos no caminho - os <em>Hashtables</em> não utilizam o mecanismo de <em>generics</em> para assegurar um tipo específico de dado.</p>
<h2>Implementando interfaces com objetos anônimos</h2>
<p>Algo que eu achei realmente muito legal (e se você já usou interfaces antes tenho certeza de que também irá gostar) é a capacidade de implementar interfaces com objetos anônimos. Em PHP, se você possui uma interface, necessita de uma declaração sólida da sua interface antes de implementá-la em uma classe.</p>
<p>Em Java você pode implementar uma interface na hora. Você especifica a interface que você está implementando, seguida pelo bloco de código contendo a implementação:</p>
<pre class="brush: java; title: ; notranslate">OnClickListener myClickListener = new OnClickListener() {
    public void onClick(DialogInterface dialoginterface, int i) {
        startGame(i);
    }
};</pre>
<p>Simples, não? Parece bastante útil quando você precisa desenvolver pequenos manipuladores como esses.</p>
<h2>Classes e Interfaces Aninhadas</h2>
<p>No exemplo anterior eu acabei omitindo algo: o <i>OnClickListener</i>, na verdade, é uma <em>interface estática aninhada</em>. O código correto seria:</p>
<pre class="brush: java; title: ; notranslate">DialogInterface.OnClickListener myClickListener = new DialogInterface.OnClickListener() {
    public void onClick(DialogInterface dialoginterface, int i) {
        startGame(i);
    }
};</pre>
<p>Vou tenta explicar em miúdos. Você pode dar uma olhada no <a title="tutorial aninhados no java" href="http://download.oracle.com/javase/tutorial/java/javaOO/nested.html" target="_blank">site oficial do Java</a> (texto em inglês) e também no site da Caelum um <a title="tutorial sobre classes aninhadas" href="http://blog.caelum.com.br/classes-aninhadas-o-que-sao-e-quando-usar/" target="_blank">tutorial sobre classes aninhadas</a>.</p>
<p>O primeiro exemplo fala de uma classe interna comum (não uma estática como <em>OnClickListener</em>). Você pode ter uma declaração de classe dentro de outra classe e apenas a classe exterior poderá criar uma nova instância dessa classe interna. A seguir vemos um exemplo de <em>classe aninhada</em> e como ela se parece:</p>
<pre class="brush: java; title: ; notranslate">class MyClass {
    class MyInnerClass {
    }

    public void foo() {
        MyClass.MyInnerClass innerObject = new MyClass.MyInnerClass();
    }
}</pre>
<p>Então aqui você faz uma declaração de classe interna (MyInnerClass) que apenas pode existir dentro da sua classe externa (MyClass).</p>
<p>Algumas vezes a classe deve estar dentro de uma outra classe mas ainda ser acessível para o mundo &#8211; está dentro de outra classe apenas por causa dos namespaces, como o exemplo do <em>OnClickListener</em> acima (a diferença é que ali está mais pra interface do que pra uma classe, então você deve apenas substituir <em>class</em> por <em>interface</em>).</p>
<p>Neste caso você deveria utilizar a palavra-chave <em>static</em>:</p>
<pre class="brush: java; title: ; notranslate">class MyClass {
    static class MyInnerClass {
    }

    public void foo() {
        MyClass.MyInnerClass innerObject = new MyClass.MyInnerClass();
    }
}

class MyOtherClass {
    public void foo() {
        MyClass.MyInnerClass inner = new MyClass.MyInnerClass();
    }
}</pre>
<p>Perceba que nesse caso a classe interna pode residir totalmente dentro de outra classe. Não precia estar dentro de <em>MyClass</em>.</p>
<h2>Considerações Finais</h2>
<p>Muitas dessas peculiaridades do Java, que podem ser consideradas implementações mais puras da orientação a objetos, podem ser integradas ao novo PHP 6. Caso você queira dar uma olhada no que vem por aí dentro do PHP, sugiro que leiam meu outro artigo: <a title="O que há de novo no PHP 5.4? Conheça as mudanças mais significativas." href="http://www.phpit.com.br/artigos/o-que-ha-de-novo-no-php-5-4-conheca-as-mudancas-mais-significativas.phpit" target="_blank">O que há de novo no PHP 5.4? Conheça as mudanças mais significativas</a>.</p>
<p>Espero que essas experiências possam ajudá-los a melhorar suas aptidões em novas linguagens e, assim, não ficar parado no tempo. É importante nunca parar de estudar e aperfeiçoar-se cada vez mais.</p>
<p>Aproveitem os comentários para exporem suas dúvidas e contribuírem com a discussão.</p>
<p>Um abraço a todos e fiquem com Deus!</p>
<p><em><span style="font-size: small;">Texto adaptado do original: <a title="texto original" href="http://www.searbe.co.uk/moving-from-php-to-java" target="_blank">http://www.searbe.co.uk/moving-from-php-to-java</a></span></em></p>
<!-- Start Shareaholic Recommendations Automatic --><!-- End Shareaholic Recommendations Automatic --><p>O post <a href="http://www.phpit.com.br/artigos/ensinando-java-a-programadores-php.phpit">Ensinando Java a Programadores PHP</a> apareceu primeiro em <a href="http://www.phpit.com.br">PHPit</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://www.phpit.com.br/artigos/ensinando-java-a-programadores-php.phpit/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		<feedburner:origLink>http://www.phpit.com.br/artigos/ensinando-java-a-programadores-php.phpit?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=ensinando-java-a-programadores-php</feedburner:origLink></item>
		<item>
		<title>Como criar páginas com template personalizado no WordPress</title>
		<link>http://feedproxy.google.com/~r/phpit/~3/PwwTCsWpGhY/como-criar-paginas-com-template-personalizado-no-wordpress.phpit</link>
		<comments>http://www.phpit.com.br/artigos/como-criar-paginas-com-template-personalizado-no-wordpress.phpit#comments</comments>
		<pubDate>Mon, 25 Mar 2013 17:22:21 +0000</pubDate>
		<dc:creator>Rafael Jaques</dc:creator>
				<category><![CDATA[Geral]]></category>
		<category><![CDATA[template]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://www.phpit.com.br/?p=513</guid>
		<description><![CDATA[<p><p>O post <a href="http://www.phpit.com.br/artigos/como-criar-paginas-com-template-personalizado-no-wordpress.phpit">Como criar páginas com template personalizado no WordPress</a> apareceu primeiro em <a href="http://www.phpit.com.br">PHPit</a>.</p><p>Criar um tema de WordPress para acomodar os conceitos de design do seu website torna-se muito mais fácil quando você sabe algumas coisas como Páginas com Templates Personalizados. O WordPress trabalha utilizando posts e páginas, mas uma página não precisa ter exatamente &#8230; <a href="http://www.phpit.com.br/artigos/como-criar-paginas-com-template-personalizado-no-wordpress.phpit">Continue lendo <span class="meta-nav">&#8594;</span></a></p></p><p>O post <a href="http://www.phpit.com.br/artigos/como-criar-paginas-com-template-personalizado-no-wordpress.phpit">Como criar páginas com template personalizado no WordPress</a> apareceu primeiro em <a href="http://www.phpit.com.br">PHPit</a>.</p>]]></description>
				<content:encoded><![CDATA[<p>O post <a href="http://www.phpit.com.br/artigos/como-criar-paginas-com-template-personalizado-no-wordpress.phpit">Como criar páginas com template personalizado no WordPress</a> apareceu primeiro em <a href="http://www.phpit.com.br">PHPit</a>.</p><p><a href="http://www.phpit.com.br/wp-content/uploads/2013/03/wp_post_01.png"><img class="aligncenter size-full wp-image-516" alt="Logo do WordPress" src="http://www.phpit.com.br/wp-content/uploads/2013/03/wp_post_01.png" width="640" height="190" /></a></p>
<p>Criar um tema de WordPress para acomodar os conceitos de design do seu website torna-se muito mais fácil quando você sabe algumas coisas como <strong>Páginas com Templates Personalizados</strong>. O WordPress trabalha utilizando <em>posts </em>e <em>páginas</em>, mas uma página não precisa ter exatamente o mesmo formato de outra. Você pode criar layouts e conteúdos únicos para páginas específicas, criando sites com efeitos visuais interessantíssimos e que ainda sim podem ser editados pelo poderoso WordPress.</p>
<h2>O que é uma Página com Template Personalizado?</h2>
<p><a href="http://www.phpit.com.br/wp-content/uploads/2013/03/1.jpg"><img class="size-full wp-image-519 aligncenter" alt="Exemplo de template" src="http://www.phpit.com.br/wp-content/uploads/2013/03/1.jpg" width="500" height="438" /></a></p>
<p>Estes templates personalizados do WordPress são arquivos de tema que disponibilizam uma alternativa para o arquivo <span class="filename">page.php</span> padrão. Esses templates podem conter qualquer HTML e tags de template que você desejar e que sejam necessários para construir o layout ou conteúdo escolhido, então o arquivo pode ser associado a uma página específica de modo que o WordPress utilize este novo template quando estiver exibindo esta página em particular.</p>
<p><a href="http://www.phpit.com.br/wp-content/uploads/2013/03/2.jpg"><img class="size-full wp-image-520 aligncenter" alt="Exemplo de template" src="http://www.phpit.com.br/wp-content/uploads/2013/03/2.jpg" width="500" height="529" /></a></p>
<p>Comumente as páginas com templates personalizados são utilizadas para criar layouts únicos para seções como <em>sobre nós</em>, <em>depoimentos</em> ou <em>serviços</em>; um charmoso portfolio tomado de efeitos visuais; ou um inteligente sistema de contato utilizando códigos inseridos diretamente no template. Se você precisa configurar o layout da sua página além do que está no arquivo <span class="filename">page.php</span> padrão, então você precisa de uma página com template personalizado!</p>
<h2>Como criar uma Página com Template Personalizado</h2>
<p>Criar uma página com template personalizado não poderia ser mais simples! Crie um arquivo PHP em branco e adicione o seguinte código:</p>
<pre class="brush: php; title: ; notranslate">&lt;?php
/*
Template Name: Portfolio
*/
?&gt;</pre>
<p>Configure o nome do template como algo reconhecível, pois é este nome que aparecerá em um menu dropdown dentro da tela de administração do WordPress. Salve o arquivo com um nome correspondente ao template que escolheu e que faça sentido como <span class="filename">portfolio.php</span>, por exemplo.</p>
<p><a href="http://www.phpit.com.br/wp-content/uploads/2013/03/3.jpg"><img class="size-full wp-image-521 aligncenter" alt="Exemplo de código" src="http://www.phpit.com.br/wp-content/uploads/2013/03/3.jpg" width="500" height="343" /></a></p>
<p>No restante do documento, adicione seu HTML e suas tags do WordPress para construir o layout que deseja. Aqui você pode utilizar tags como <span class="filename">&lt;?php get_header(); ?&gt;</span> para construir uma página utilizando os elementos de <em>header</em>/<em>sidebar</em>/<em>footer </em>existentes ou pode criar algo completamente novo e único utilizando apenas alguns loops do WordPress. Não se esqueça que você também pode programar suas rotinas diretamente nesse arquivo também, como uma ação de um formulário, importação de um vídeo do YouTube ou um iFrame do Google Maps.</p>
<p><a href="http://www.phpit.com.br/wp-content/uploads/2013/03/4.jpg"><img class="size-full wp-image-522 aligncenter" alt="Trecho do wordpress" src="http://www.phpit.com.br/wp-content/uploads/2013/03/4.jpg" width="500" height="354" /></a></p>
<p>Depois de criar o seu template personalizado e enviá-lo para o diretório do seu tema, crie uma nova página utilizando o editor do WordPress. Todos os conteúdos que você adicionar utilizando o WYSIWYG aparecerão em qualquer lugar que a tag <span class="filename">&lt;?php the_content(); ?&gt;</span> estiver inserida. Essa página utilizará o template <span class="filename">page.php</span> padrão a menos que você altere as opções de modelo na área de atributos da página.</p>
<p><img class="size-full wp-image-523 aligncenter" alt="Trecho do wordpress" src="http://www.phpit.com.br/wp-content/uploads/2013/03/5.jpg" width="500" height="445" /></p>
<p>Selecione o menu <strong>Modelo</strong> e escolha o arquivo de template que você criou. Pressione o botão de publicar e veja seu WordPress gerar conteúdo dinâmico na estrutura de página personalizada que você criou.</p>
<p><em style="font-size: small;">Texto adaptado do original: <a title="texto original" href="http://line25.com/tutorials/how-to-create-a-wordpress-custom-page-template" target="_blank">http://line25.com/tutorials/how-to-create-a-wordpress-custom-page-template</a></em></p>
<!-- Start Shareaholic Recommendations Automatic --><!-- End Shareaholic Recommendations Automatic --><p>O post <a href="http://www.phpit.com.br/artigos/como-criar-paginas-com-template-personalizado-no-wordpress.phpit">Como criar páginas com template personalizado no WordPress</a> apareceu primeiro em <a href="http://www.phpit.com.br">PHPit</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://www.phpit.com.br/artigos/como-criar-paginas-com-template-personalizado-no-wordpress.phpit/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.phpit.com.br/artigos/como-criar-paginas-com-template-personalizado-no-wordpress.phpit?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=como-criar-paginas-com-template-personalizado-no-wordpress</feedburner:origLink></item>
		<item>
		<title>PHP é a melhor opção pra começar</title>
		<link>http://feedproxy.google.com/~r/phpit/~3/lQTcvrczffM/php-e-a-melhor-opcao-pra-comecar.phpit</link>
		<comments>http://www.phpit.com.br/artigos/php-e-a-melhor-opcao-pra-comecar.phpit#comments</comments>
		<pubDate>Sat, 23 Mar 2013 14:41:01 +0000</pubDate>
		<dc:creator>Rafael Jaques</dc:creator>
				<category><![CDATA[Análise]]></category>
		<category><![CDATA[básico]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://www.phpit.com.br/?p=505</guid>
		<description><![CDATA[<p><p>O post <a href="http://www.phpit.com.br/artigos/php-e-a-melhor-opcao-pra-comecar.phpit">PHP é a melhor opção pra começar</a> apareceu primeiro em <a href="http://www.phpit.com.br">PHPit</a>.</p><p>Texto adaptado do original: http://www.tlabsonline.com/blog/php-is-the-best-option-to-learn/ Você acha que tem o que precisa para ser um bom programador web? A arte de aprender novas linguagens frequentemente. Surpreso? Bem, não fique porque não estou falando de Tamil, Telugu, Francês e Suahili, mas de &#8230; <a href="http://www.phpit.com.br/artigos/php-e-a-melhor-opcao-pra-comecar.phpit">Continue lendo <span class="meta-nav">&#8594;</span></a></p></p><p>O post <a href="http://www.phpit.com.br/artigos/php-e-a-melhor-opcao-pra-comecar.phpit">PHP é a melhor opção pra começar</a> apareceu primeiro em <a href="http://www.phpit.com.br">PHPit</a>.</p>]]></description>
				<content:encoded><![CDATA[<p>O post <a href="http://www.phpit.com.br/artigos/php-e-a-melhor-opcao-pra-comecar.phpit">PHP é a melhor opção pra começar</a> apareceu primeiro em <a href="http://www.phpit.com.br">PHPit</a>.</p><p><a href="http://www.phpit.com.br/artigos/php-e-a-melhor-opcao-pra-comecar.phpit/php_img" rel="attachment wp-att-506"><img class="aligncenter size-full wp-image-506" alt="php_img" src="http://www.phpit.com.br/wp-content/uploads/2013/03/php_img.png" width="640" height="190" /></a></p>
<p><em>Texto adaptado do original: <a title="link original" href="http://www.tlabsonline.com/blog/php-is-the-best-option-to-learn/" target="_blank">http://www.tlabsonline.com/blog/php-is-the-best-option-to-learn/</a></em></p>
<p>Você acha que tem o que precisa para ser um bom programador web? A arte de aprender novas linguagens frequentemente. Surpreso? Bem, não fique porque não estou falando de Tamil, Telugu, Francês e Suahili, mas de linguagens de programação de computadores. Com diversas linguagens utilizadas para criar sistemas web, há pesquisas contínuas nesse campo buscando a melhor linguagem de programação para a internet.</p>
<p>O PHP é considerado uma das melhores linguagens para programação web atualmente. PHP que teve sua concepção em meados de 1994 têm se tornado uma das linguagens favoritas de muitos que conhecem e utilizam. Mas então o que há de tão especial na programação web? Pra começar, <strong>é uma das linguagens mais fáceis de serem aprendidas</strong>, especialmente por pessoas leigas. Trazendo à luz as vantagens do PHP, podemos citar:</p>
<ol>
<li>É uma linguagem do lado do servidor para desenvolvimento web, mas também é utilizada como uma linguagem para diversos propósitos</li>
<li>Está plenamente disponível e absolutamente de graça (open source, inclusive!)</li>
<li>Funciona em diversas plataformas e integra-se brilhantemente com o MySQL</li>
<li>Uma das linguagens mais utilizadas devido à facilidade de uso e natureza dinâmica</li>
<li>É possível encontrar diversas informações e referências sobre a linguagem por todos os cantos da internet</li>
<li>O dinamismo da aplicação é imenso. É muito simples de criar websites dinâmicos e rápidos e permite que essas páginas sejam hospedadas por um baixo custo e sem aborrecimentos</li>
</ol>
<p>Por agora você já deve estar mais por dentro desta maravilhosa criação da tecnologia da informação. Então, mesmo sendo técnico ou leigo, você pode definitivamente arriscar uma tentativa em aprender esta linguagem. Mas lembre-se, embora possa ser fácil, você vai precisar de um bom professor para aprender com precisão e eficiência. E não se esqueça disso!</p>
<p>Aproveite a grande comunidade que temos aqui no Brasil e intereja, pergunte, investigue, experimente! E lembre-se sempre que todos são bem vindos a participar da construção do conhecimento aqui no blog e em toda a nossa comunidade!</p>
<p>Um abraço a todos e fiquem com Deus!</p>
<!-- Start Shareaholic Recommendations Automatic --><!-- End Shareaholic Recommendations Automatic --><p>O post <a href="http://www.phpit.com.br/artigos/php-e-a-melhor-opcao-pra-comecar.phpit">PHP é a melhor opção pra começar</a> apareceu primeiro em <a href="http://www.phpit.com.br">PHPit</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://www.phpit.com.br/artigos/php-e-a-melhor-opcao-pra-comecar.phpit/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.phpit.com.br/artigos/php-e-a-melhor-opcao-pra-comecar.phpit?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=php-e-a-melhor-opcao-pra-comecar</feedburner:origLink></item>
		<item>
		<title>Desativando o layout no Zend Framework 2</title>
		<link>http://feedproxy.google.com/~r/phpit/~3/vl-mQRZgSNE/desativando-o-layout-no-zend-framework-2.phpit</link>
		<comments>http://www.phpit.com.br/artigos/desativando-o-layout-no-zend-framework-2.phpit#comments</comments>
		<pubDate>Fri, 23 Nov 2012 17:44:18 +0000</pubDate>
		<dc:creator>Rafael Jaques</dc:creator>
				<category><![CDATA[Zend Framework 2]]></category>
		<category><![CDATA[zend framework 2]]></category>

		<guid isPermaLink="false">http://www.phpit.com.br/?p=491</guid>
		<description><![CDATA[<p><p>O post <a href="http://www.phpit.com.br/artigos/desativando-o-layout-no-zend-framework-2.phpit">Desativando o layout no Zend Framework 2</a> apareceu primeiro em <a href="http://www.phpit.com.br">PHPit</a>.</p><p>Tutorial adaptado do original escrito por EvanDotPro: http://blog.evan.pro/disabling-the-layout-in-zend-framework-2 As vezes você precisa desativar o layout para uma ação específica. Para fazer isso, simplesmente configure a sua View Model da sua ação para retornar como &#8220;terminal&#8221;. Isso fará com que o ZF2 &#8230; <a href="http://www.phpit.com.br/artigos/desativando-o-layout-no-zend-framework-2.phpit">Continue lendo <span class="meta-nav">&#8594;</span></a></p></p><p>O post <a href="http://www.phpit.com.br/artigos/desativando-o-layout-no-zend-framework-2.phpit">Desativando o layout no Zend Framework 2</a> apareceu primeiro em <a href="http://www.phpit.com.br">PHPit</a>.</p>]]></description>
				<content:encoded><![CDATA[<p>O post <a href="http://www.phpit.com.br/artigos/desativando-o-layout-no-zend-framework-2.phpit">Desativando o layout no Zend Framework 2</a> apareceu primeiro em <a href="http://www.phpit.com.br">PHPit</a>.</p><p><em>Tutorial adaptado do original escrito por EvanDotPro: <a href="http://blog.evan.pro/disabling-the-layout-in-zend-framework-2">http://blog.evan.pro/disabling-the-layout-in-zend-framework-2</a></em></p>
<p>As vezes você precisa desativar o layout para uma ação específica. Para fazer isso, simplesmente configure a sua View Model da sua ação para retornar como &#8220;terminal&#8221;. Isso fará com que o ZF2 não envolva o conteúdo na view em um layout.</p>
<pre class="brush: php; title: ; notranslate">&lt;?php

namespace Application\Controller;

use Zend\Mvc\Controller\ActionController;
use Zend\View\Model\ViewModel;

class IndexController extends ActionController
{
    public function nolayoutAction()
    {
        // Turn off the layout, i.e. only render the view script.
        $viewModel = new ViewModel();
        $viewModel-&gt;setTerminal(true);
        return $viewModel;
    }
}</pre>
<p>Mais exemplos podem ser encontrados na excelente <a href="https://github.com/akrabat/ZF2TestApp/blob/master/module/Application/src/Application/Controller/ViewController.php">ZF2TestApp do Rob Allen</a>.</p>
<!-- Start Shareaholic Recommendations Automatic --><!-- End Shareaholic Recommendations Automatic --><p>O post <a href="http://www.phpit.com.br/artigos/desativando-o-layout-no-zend-framework-2.phpit">Desativando o layout no Zend Framework 2</a> apareceu primeiro em <a href="http://www.phpit.com.br">PHPit</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://www.phpit.com.br/artigos/desativando-o-layout-no-zend-framework-2.phpit/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		<feedburner:origLink>http://www.phpit.com.br/artigos/desativando-o-layout-no-zend-framework-2.phpit?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=desativando-o-layout-no-zend-framework-2</feedburner:origLink></item>
		<item>
		<title>PHPit te leva à PHP Conference Brasil 2012</title>
		<link>http://feedproxy.google.com/~r/phpit/~3/D3pwWseFMiU/phpit-te-leva-a-php-conference-brasil-2012.phpit</link>
		<comments>http://www.phpit.com.br/artigos/phpit-te-leva-a-php-conference-brasil-2012.phpit#comments</comments>
		<pubDate>Thu, 01 Nov 2012 23:45:12 +0000</pubDate>
		<dc:creator>Rafael Jaques</dc:creator>
				<category><![CDATA[Promoções]]></category>

		<guid isPermaLink="false">http://www.phpit.com.br/?p=481</guid>
		<description><![CDATA[<p><p>O post <a href="http://www.phpit.com.br/artigos/phpit-te-leva-a-php-conference-brasil-2012.phpit">PHPit te leva à PHP Conference Brasil 2012</a> apareceu primeiro em <a href="http://www.phpit.com.br">PHPit</a>.</p><p>Você tem sorte? Então tá na hora de colocar essa sorte à prova! O PHPit irá sortear dois ingressos SILVER para a PHP Conference Brasil 2012. Deu vontade? Então saiba como conseguir: Um ingresso será sorteado pelo Twitter do PHPit para &#8230; <a href="http://www.phpit.com.br/artigos/phpit-te-leva-a-php-conference-brasil-2012.phpit">Continue lendo <span class="meta-nav">&#8594;</span></a></p></p><p>O post <a href="http://www.phpit.com.br/artigos/phpit-te-leva-a-php-conference-brasil-2012.phpit">PHPit te leva à PHP Conference Brasil 2012</a> apareceu primeiro em <a href="http://www.phpit.com.br">PHPit</a>.</p>]]></description>
				<content:encoded><![CDATA[<p>O post <a href="http://www.phpit.com.br/artigos/phpit-te-leva-a-php-conference-brasil-2012.phpit">PHPit te leva à PHP Conference Brasil 2012</a> apareceu primeiro em <a href="http://www.phpit.com.br">PHPit</a>.</p><p>Você tem sorte? Então tá na hora de colocar essa sorte à prova! O PHPit irá sortear dois ingressos <strong>SILVER</strong> para a <a title="PHP Conf 2012" href="http://www.phpconference.com.br">PHP Conference Brasil 2012</a>. Deu vontade? Então saiba como conseguir:</p>
<ul>
<li>Um ingresso será sorteado pelo Twitter do PHPit para quem der RT no tweet mencionado;</li>
<li>Um ingresso será sorteado pelo Facebook para quem compartilhar a imagem mencionada;</li>
</ul>
<p>Lembrando que para quem participar pelo Facebook, só poderão ser contados os compartilhamentos de quem tiver o mural aberto (caso contrário não é possível listar). Também é importante tomar cuidado para compartilhar a imagem original, e não apenas reenviá-la ao seu mural. Os dois sorteios serão realizados no dia <strong>06/11/2012</strong> às <strong>13h</strong>.<br />
O vencedor da promoção deve enviar um email para <strong>rafael@phpit.com.br</strong> ainda no mesmo dia.</p>
<p><span style="font-size: x-large">O ingresso só é válido até <strong>07/11/2012</strong></span>.</p>
<p>Primeiro será feito o sorteio do Twitter e em seguida do Facebook. Caso a mesma pessoa seja sorteada em ambos os certames, o segundo sorteio será efetuado novamente.</p>
<p><a title="Promoção no Twitter" href="https://twitter.com/_phpit/status/264151887316664320" target="_blank">Promoção no Twitter<br />
</a><a title="Promoção no Facebook" href="https://www.facebook.com/photo.php?fbid=451290288245386" target="_blank">Promoção no Facebook</a></p>
<p>Boa sorte a todos e nos vemos lá!</p>
<!-- Start Shareaholic Recommendations Automatic --><!-- End Shareaholic Recommendations Automatic --><p>O post <a href="http://www.phpit.com.br/artigos/phpit-te-leva-a-php-conference-brasil-2012.phpit">PHPit te leva à PHP Conference Brasil 2012</a> apareceu primeiro em <a href="http://www.phpit.com.br">PHPit</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://www.phpit.com.br/artigos/phpit-te-leva-a-php-conference-brasil-2012.phpit/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://www.phpit.com.br/artigos/phpit-te-leva-a-php-conference-brasil-2012.phpit?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=phpit-te-leva-a-php-conference-brasil-2012</feedburner:origLink></item>
	</channel>
</rss>
