Pplware

PHP é à quinta-feira – Iniciação ao Smarty

Por R. Santos para o Pplware

Como já tínhamos visto anteriormente, o Smarty é um sistema de templates para PHP. Mais especificamente, fornece uma forma fácil de gerir a programação da aplicação web e o conteúdo da sua apresentação (layout).

Geralmente utilizado numa situação onde o programador da aplicação e o designer do layout executam tarefas diferentes, ou na maioria dos casos não são a mesma pessoa.

Pois bem, o Smarty traz a felicidade dos programadores e designers. Estes têm diferentes tarefas mas podem ser colaboradas de forma eficaz.

Como por exemplo:

As tarefas do programador:

As tarefas dos designers:

Instalação

Iremos precisar de criar mais dois directórios para meter o Smarty a funcionar. Irá ser lá que serão guardados os ficheiros (.tpl) do layout e os templates compilados pelo Smarty.

Só iremos precisar dos directórios libs, templates e templates_c. Todo o resto poderá eliminar.

Primeiro Smarty

PHP

Em primeiro lugar temos de importar a biblioteca. require ‘libs/Smarty.class.php’; Agora precisamos de iniciar o objecto para o podermos utilizar.

$smarty = new Smarty();

Com a função assign(); vamos atribuir algumas variáveis para a nossa página.

$smarty->assign(‘Charset’, ‘iso-8859-1’); $smarty->assign(‘TituloPagina’, ‘O Meu Primeiro Smarty’); $smarty->assign(‘Titulo’, ‘Olá’); $smarty->assign(‘Texto’, ‘Este é o meu primeiro Smarty :)’); $smarty->display(‘index.tpl’);

HTML


Como podemos ver, todas as variáveis definidas anteriormente no PHP são representadas no Smarty por {$variavel}, tal como todas as tags de template do Smarty contêm delimitadores. Por padrão, estes delimitadores são { e }, mas eles podem ser alterados.

Fácil não é? Acabamos de fazer o nosso primeiro Smarty 🙂

O que o Smarty vai fazer é analisar o seu template e a partir deste vai criar um ficheiro PHP para ser interpretado pelo interpretador. Quando a página é visualizada o Smarty lê esse ficheiro em vez do template, que poupa o trabalho de ter que analisar o template outra vez.


Sintaxe Básica

Comentários

{* Exemplo *}

Importar

{include file=”cabecalho.tpl”} xyz {include=”baixo.tpl”}

Condições

{if condição} x {else} y {/if}

Loops

For, Foreach

{section name=x loop=$y} {$y[x]} {$z[x]} {sectionlese} Opps {/section}

{foreach from=$x item=y} {$x} {foreachelse} Opps {/foreach}

Operações

{$x + $y} {$x – $y} {$x * $y} {$x / $y}

Arrays PHP

$smarty->assign(‘Utilizador’,array(‘Id’ => 15482022, ‘PrimeiroNome’ => ‘Alberto’, ‘UltimoNome’ => ‘Milagre’, ‘Email’ => ‘emilagre@tudooquepuderes’, ‘Telefone’ => ‘910000000’));

Smarty

{$Utilizador.Id} {$Utilizador.PrimeiroNome} {$Utilizador.UltimoNome} {$Utilizador.Email} {$Utilizador.Telefone}

Objectos

PHP

class O_Meu_Notebook {

public $Processador = ‘Intel Core2 Duo P9550 – 2,66GHz’; public $Memoria = 4096; public $DiscoRigido = 500; public $PlacaGrafica = ‘ATI Mobility Radeon HD 4650 – 1GB’; public $SistemaOperativo = ‘Windows Vista Home Premium’;

}

$objecto = New O_Meu_Notebook;

$smarty->assign(‘Notebook’, $objecto);

Smarty

{$objecto->Processador} {$objecto->Memoria} MB {$objecto->DiscoRigido} GB {$objecto->PlacaGrafica} {$objecto->SistemaOperativo}

E assim dou por terminado esta iniciação.

Como de costume, qualquer dúvida e/ou sugestão podem postar nos comentários, no Fórum Pplware ou enviar-me um email para r.santos[at]live[dot]co[dot]uk.

Exit mobile version