<?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; smarty</title>
	<atom:link href="http://www.webparatodos.com.br/tag/smarty/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>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>

