Buscar

PHP Smarty

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 30 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 30 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 30 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Universidade Federal dos Vales Universidade Federal dos Vales 
Jequitinhonha e MucuriJequitinhonha e Mucuri
Sistemas de InformaçãoSistemas de Informação
Apresentação à Apresentação à 
Disciplina de E.W.Disciplina de E.W.
Tema:Tema: SmartySmarty
Lorena C. De SouzaLorena C. De Souza
 
Índice SmartyÍndice Smarty
1 – Apresentação1 – Apresentação
1.1 Templete1.1 Templete
1.2 Classe Templete1.2 Classe Templete
1.3 Classe Templete Smarty1.3 Classe Templete Smarty
1.4 Objetivos1.4 Objetivos
1.5 Visões1.5 Visões
2 – Instalação2 – Instalação
3 – Sintaxe Básica3 – Sintaxe Básica
4 – Exemplos Práticos4 – Exemplos Práticos
 
SmartySmarty
●
●
●
● Qual a definição de Qual a definição de TempleteTemplete??
●
 
SmartySmarty
● Qual a definição de Qual a definição de TempleteTemplete??
Um documento sem conteúdo, com apenas a apresentação visual Um documento sem conteúdo, com apenas a apresentação visual 
(apenas cabeçalhos por exemplo) e instruções sobre onde e qual (apenas cabeçalhos por exemplo) e instruções sobre onde e qual 
tipo de conteúdo deve entrar a cada parcela da apresentação — tipo de conteúdo deve entrar a cada parcela da apresentação — 
por exemplo conteúdos que podem aparecer no início e conteúdos por exemplo conteúdos que podem aparecer no início e conteúdos 
que só podem aparecer no final.que só podem aparecer no final.
●
 
THU
SmartySmarty
●
●
 
SmartySmarty
Agora qual a definição de Classe Templete?Agora qual a definição de Classe Templete?
●
 
SmartySmarty
Agora qual a definição de Classe Templete?Agora qual a definição de Classe Templete?
A Classe Templete tem o principal A Classe Templete tem o principal propósitopropósito manter o manter o 
código HTML em arquivos externos que ficam código HTML em arquivos externos que ficam 
completamente livres de código PHP. E dessa forma, completamente livres de código PHP. E dessa forma, 
manter a lógica de programação (PHP) separada da manter a lógica de programação (PHP) separada da 
estrutura visual (HTML ou XML, CSS, etc).estrutura visual (HTML ou XML, CSS, etc).
●
 
SmartySmarty
Com isso, gera duas “extremidades” de Com isso, gera duas “extremidades” de 
desenvolvimento:desenvolvimento:
● A parte da A parte da VisãoVisão
● A parte dos A parte dos ControlesControles
HtmlHtml
CSSCSS PHPPHPPHPPHP
HtmlHtml
CSSCSS
 
SmartySmarty
Sem a Classe Template, o que tem é uma mistura de php, com Sem a Classe Template, o que tem é uma mistura de php, com 
html, css e etc.html, css e etc.
<?php
echo "<div>
 <p> Ol&aacute; Mundo!</p>
 </div>";
?>
 
SmartySmarty
Com a Classe Template, o que tem é uma organização/separação Com a Classe Template, o que tem é uma organização/separação 
entre os componentes de desenvolvimento da aplicação web.entre os componentes de desenvolvimento da aplicação web.
<html>
<body>
<p>Olá Mundo!</p>
</body>
</html>
<?php 
 require("Template.class.php"); 
 $tpl = new Template("hello.html"); 
 $tpl->show(); 
?>
 
SmartySmarty
Características específicas da Classe templete Características específicas da Classe templete 
Smarty:Smarty:
● Engine oficializada pela php.netEngine oficializada pela php.net
●
● Ele é extremamente rápido.Ele é extremamente rápido.
●
● Sem elevadas interpretações de template, compila Sem elevadas interpretações de template, compila 
uma vez.uma vez.
●
● Só recompilará os arquivos de template que foram Só recompilará os arquivos de template que foram 
alterados.alterados.
●
● Suporte de caching embutidoSuporte de caching embutido
●
● Arquitetura de PluginArquitetura de Plugin
 
SmartySmarty
Vantagens:Vantagens:
Facilidade pra criação uma vez aprendido;Facilidade pra criação uma vez aprendido;
Organização;Organização;
Manutenção de código;Manutenção de código;
Otimização do desenvolvimento do projeto – dois Otimização do desenvolvimento do projeto – dois 
ambientes.ambientes.
 
Smarty - InstalaçãoSmarty - Instalação
Requisitos:Requisitos:
Servidor Servidor ApacheApache
PHPPHP
Biblioteca do Biblioteca do SmartySmarty
 
Smarty - InstalaçãoSmarty - Instalação
Passos:Passos:
Faça o download do Faça o download do SmartySmarty
Descomprima todas as pastas.Descomprima todas as pastas.
Verifique uma pasta "demo"Verifique uma pasta "demo"
Prepare de maneira a deixar visível ao www­dataPrepare de maneira a deixar visível ao www­data
●
● Dê permissão ao diretório "templates_c".Dê permissão ao diretório "templates_c".
 
Smarty - InstalaçãoSmarty - Instalação
●Árvore padrão de diretório do Smarty está organizada da seguinte Árvore padrão de diretório do Smarty está organizada da seguinte 
maneira:maneira:
● / ­ Na raiz estarão os arquivos de lógica (.PHP).
● /configs  ­  Arquivos  de configuração. É  possível  setar  por  exemplo, 
um  título  padrão para  todo  seu  sistema,  e  utilizá­lo  nos arquivos de 
templete.
● /libs ­  Bibliotecas do Smarty, onde também fica  localizada a classe 
principal.
● /templetes  ­  Diretório  padrão  para  localização  dos  templetes.  São 
arquivos de interface com o usuário.
● /templetes_c  ­  Diretório  para  cache.  (Deve  estar  com  permissão  de 
escrita.)
 
Smarty – SintaxeSmarty – Sintaxe
●Todas as tags de template do Smarty contém delimitadores. Por padrão, Todas as tags de template do Smarty contém delimitadores. Por padrão, 
estes delimitadores são { e }, mas eles podem ser alterados.estes delimitadores são { e }, mas eles podem ser alterados.
●
●  Para o Smarty, todo o conteúdo fora dos delimitadores é mostrado como Para o Smarty, todo o conteúdo fora dos delimitadores é mostrado como 
conteúdo estático, ou inalterável. Quando o Smarty encontra tags de conteúdo estático, ou inalterável. Quando o Smarty encontra tags de 
template, ele tenta interpretá­las, e então mostra a saída apropriada em template, ele tenta interpretá­las, e então mostra a saída apropriada em 
seu lugar.seu lugar.
 
Smarty – SintaxeSmarty – Sintaxe
● ComentárioComentário
● {* {* Isto é um comentário Isto é um comentário *}*}
● Função, Variáveis e AtributosFunção, Variáveis e Atributos
● Funções Inernas: Funções Inernas: {include file=$arquivoInclude}{include file=$arquivoInclude}
● Funções Inernas:Funções Inernas: {config_load file="cores.conf"}{config_load file="cores.conf"}
● Funções Inernas:Funções Inernas: {if $enfase_nome}{if $enfase_nome}
● Funções Personalizadas:Funções Personalizadas: {html_options}{html_options}
● Funções Personalizadas:Funções Personalizadas: {html_select_date display_days=yes}{html_select_date display_days=yes}
●
● Escapando de Interpretação do SmartyEscapando de Interpretação do Smarty
● {ldelim}$Name | upper{rdelim}{ldelim}$Name | upper{rdelim}
 
Smarty – SintaxeSmarty – Sintaxe
● VariáveisVariáveis
●
● Variável definida do php: 
● {$Nome}{$Nome}
● Variável composta definida do php:
● {$Contatos[row].Telefone}
●
● Variável de configuração: 
<body bgcolor="{#cordefundo}">
●
● Variável reservada: 
● $smarty
 
Smarty – SintaxeSmarty – Sintaxe
●Variável Reservada $smartyVariável Reservada $smarty
● Essa variável reservada é utilizada para acessar variáveis especiais do 
template. Como por exemplo: as variáveis request get, post, cookies, 
server, enviroment e session. Exemplo:
●
● Se tem a seguinte URL http://www.domain.com/index.php?page=foo 
●
●
 
Smarty – SintaxeSmarty – Sintaxe
●Variável Reservada $smartyVariável Reservada $smarty
● Essa variável reservada é utilizada para acessar variáveis especiais do 
template. Como por exemplo: as variáveis request get, post, cookies, 
server, enviroment e session. Exemplo:
●
● Se tem a seguinte URL http://www.domain.com/index.php?page=foo●
● Com {$smarty.get.page} mostra o valor de page da URL;
●
● Para {$smarty.post.page} mostra a variável ”page” de um 
formulário. (POST)
●
● Para {$smarty.cookies.username} mostra o valor do cookie 
"username.
 
Smarty – SintaxeSmarty – Sintaxe
● Variável Reservada $smartyVariável Reservada $smarty
●
● Para {$smarty.server.SERVER_NAME} mostra a variável do servidor 
"SERVER_NAME".
●
● Para {$smarty.env.PATH} mostra a variável de ambiente do sistema 
"PATH".
●
● Para {$smarty.session.id} mostra a variável ”id” de session do php.
 
Smarty – SintaxeSmarty – Sintaxe
●Outras sintaxe reservadas do Smarty:
●
● {$smarty.now} – retorna o timestamp atual.
●
● {$smarty.capture} – captura a saída.
●
● {$smarty.template}{$smarty.template} ­ contém o nome do template atual.
●
● {$smarty.section}, {$smarty.foreach}
●
● {$smarty.ldelim} e {$smarty.rdelim}: delimitador esquerdo e direito.
 
Smarty – SintaxeSmarty – Sintaxe
●Modificadores de Variáveis
● Para aplicá­lo deve usar a seguinte sintaxe: 
● Valor  |  modificador
● Por exemplo:
●
● {$topico | truncate:40:"..."} {$articleTitle | capitalize}
●
● {$articleTitle | count_characters}  {$articleTitle | cat:" yesterday."}
●
●
 
Smarty – SintaxeSmarty – Sintaxe
●Modificadores de Variáveis
● Para aplicá­lo deve usar a seguinte sintaxe: 
● Valor  |  modificador
● Por exemplo:
●
● {$topico | truncate:40:"..."} {$articleTitle | capitalize}
●
● {$articleTitle | count_characters}  {$articleTitle | cat:" yesterday."}
●
● {$smarty.now | date_format:"%H:%M:%S"} 
●
● {$articleTitle | replace:"Garden":"Vineyard"}
●
● {$articleTitle|count_paragraphs}
 
Smarty – SintaxeSmarty – Sintaxe
●Caching
● Usado  para  aumentar  a  velocidade  de  chamada  para  display()  ou 
fetch() salvando isso num arquivo de saída. 
● Pode fazer coisas  tremendamente rápidas, especialmente  templetes 
com longo tempo computacional.
● Desde que templetes sejam dinâmicos, é importante ter cuidado com 
o que você está fazendo cache e por quanto tempo.
● Por  exemplo,  se  você  está  mostrando  a  página  principal  do  seu 
website  na  qual  as  alterações  de  conteúdo  são  muito  frequentes 
(hora),  isso  funciona  bem  para  cache  dessa  forma.  Já  um  outro 
modo, se você está mostrando uma página com um mapa do tempo 
contendo novas informações por minuto, não faz sentido fazer cache 
nesta página.
● Caching precisa ser configurado.
 
Smarty – SintaxeSmarty – Sintaxe
●Exemplo de caching
require('Smarty.class.php');
$smarty = new Smarty;
$smarty->caching = true;
$smarty->display('index.tpl');
Multiple Chaches per Page
 
Smarty – SintaxeSmarty – Sintaxe
●Plugins
● Plugins são determinadas funcionalidades com 
características próprias à implementar junto ao Smarty.
●
● Estes sempre só são lidos quando requisitados. 
●
● E cada plugin é lido apenas uma vez, mesmo se você tem 
várias instâncias diferentes do Smarty rodando na mesma 
requisição.
●
● O diretório de plugins pode ser uma string contendo um caminho ou um 
array contendo multiplos caminhos. Para instalar um plugin, só coloque 
em um dos diretórios e a Smarty irá usá­lo automaticamente. 
 
Smarty – SintaxeSmarty – Sintaxe
Convenções de Plugins
● Arquivos:  tipo.nome.php
● Onde tipo: 
● function
● modifier
● block
● compiler
● Prefilter / postfilter / outputfilter
● resource
● Insert
● function.html_select_date.php, resource.db.php, modifier.spacify.php.
 
Comentários?
Dúvidas?
 
Obrigada!!
	Slide 1
	Slide 2
	Slide 3
	Slide 4
	Slide 5
	Slide 6
	Slide 7
	Slide 8
	Slide 9
	Slide 10
	Slide 11
	Slide 12
	Slide 13
	Slide 14
	Slide 15
	Slide 16
	Slide 17
	Slide 18
	Slide 19
	Slide 20
	Slide 21
	Slide 22
	Slide 23
	Slide 24
	Slide 25
	Slide 26
	Slide 27
	Slide 28
	Slide 29
	Slide 30

Outros materiais