SlideShare une entreprise Scribd logo
1  sur  30
Télécharger pour lire hors ligne
Universidade Federal dos Vales
    Jequitinhonha e Mucuri
   Sistemas de Informação


       Apresentação à
      Disciplina de E.W.


    Tema: Smarty
       Lorena C. De Souza
Índice Smarty
1 – Apresentação
      1.1 Templete
      1.2 Classe Templete
      1.3 Classe Templete Smarty
      1.4 Objetivos
      1.5 Visões
2 – Instalação
3 – Sintaxe Básica
4 – Exemplos Práticos
Smarty
●

●

    ●

    ●   Qual a definição de Templete?
●
Smarty
●
    Qual a definição de Templete?

Um documento sem conteúdo, com apenas a apresentação visual
(apenas cabeçalhos por exemplo) e instruções sobre onde e qual
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
que só podem aparecer no final.
●
Smarty

●
●

         THU
Smarty

    Agora qual a definição de Classe Templete?

●
Smarty

    Agora qual a definição de Classe Templete?

 A Classe Templete tem o principal propósito manter o
código HTML em arquivos externos que ficam
completamente livres de código PHP. E dessa forma,
manter a lógica de programação (PHP) separada da
estrutura visual (HTML ou XML, CSS, etc).
●
Smarty

 Com isso, gera duas “extremidades” de
desenvolvimento:
                          Html
● A parte da Visão          Html
                          CSS
                            CSS
                                   PHP
                                    PHP
● A parte dos Controles
Smarty
Sem a Classe Template, o que tem é uma mistura de php, com
html, css e etc.

               <?php

                    echo "<div>
                             <p> Ol&aacute; Mundo!</p>
                        </div>";
               ?>
Smarty
Com a Classe Template, o que tem é uma organização/separação
entre os componentes de desenvolvimento da aplicação web.


<html>                           <?php
    <body>                           require("Template.class.php");
        <p>Olá Mundo!</p>            $tpl = new Template("hello.html");
    </body>                          $tpl->show();
</html>                          ?>
Smarty
Características específicas da Classe templete
Smarty:

 ●   Engine oficializada pela php.net
 ●

 ●   Ele é extremamente rápido.
 ●

 ●   Sem elevadas interpretações de template, compila
     uma vez.
 ●

 ●   Só recompilará os arquivos de template que foram
     alterados.
 ●

 ●   Suporte de caching embutido
 ●


 ●
     Arquitetura de Plugin
Smarty

Vantagens:
  Facilidade pra criação uma vez aprendido;

  Organização;

  Manutenção de código;

  Otimização do desenvolvimento do projeto – dois
ambientes.
Smarty - Instalação

Requisitos:
 Servidor Apache

 PHP

 Biblioteca do Smarty
Smarty - Instalação
Passos:
    Faça o download do Smarty
    Descomprima todas as pastas.

    Verifique uma pasta "demo"

    Prepare de maneira a deixar visível ao www­data
●

●   Dê permissão ao diretório "templates_c".
Smarty - Instalação
Árvore padrão de diretório do Smarty está organizada da seguinte 
●


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 – Sintaxe
●Todas as tags de template do Smarty contém delimitadores. Por padrão, 
estes delimitadores são { e }, mas eles podem ser alterados.
●

● 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 
template, ele tenta interpretá­las, e então mostra a saída apropriada em 
seu lugar.
Smarty – Sintaxe
●   Comentário
      ●   {* Isto é um comentário *}

●   Função, Variáveis e Atributos
     ● Funções Inernas: {include file=$arquivoInclude}

     ● Funções Inernas: {config_load file="cores.conf"}

     ● Funções Inernas: {if $enfase_nome}

     ● Funções Personalizadas: {html_options}

     ● Funções Personalizadas: {html_select_date display_days=yes}

      ●

●   Escapando de Interpretação do Smarty
      ● {ldelim}$Name | upper{rdelim}
Smarty – Sintaxe
●   Variáveis
     ●

     ●   Variável definida do php: 
              ● {$Nome}




     ●   Variável composta definida do php:
              ● {$Contatos[row].Telefone}

             ●

     ●   Variável de configuração: 
                 <body bgcolor="{#cordefundo}">
                 ●

     ●   Variável reservada: 
               ● $smarty
Smarty – Sintaxe
●   Variá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 – Sintaxe
●   Variá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 – Sintaxe
 Variá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 – Sintaxe
Outras sintaxe reservadas do Smarty:
●

●

    ●   {$smarty.now} – retorna o timestamp atual.
    ●

    ●   {$smarty.capture} – captura a saída.
    ●

    ●   {$smarty.template} ­ contém o nome do template atual.
        {$smarty.template}
    ●

    ●   {$smarty.section}, {$smarty.foreach}
    ●

    ●   {$smarty.ldelim} e {$smarty.rdelim}: delimitador esquerdo e direito.
Smarty – 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 – 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 – 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 – Sintaxe
●   Exemplo de caching

            require('Smarty.class.php');
            $smarty = new Smarty;
            $smarty->caching = true;
            $smarty->display('index.tpl');



Multiple Chaches per Page
Smarty – 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 – 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!!

Contenu connexe

En vedette (8)

Smarty Template Engine
Smarty Template EngineSmarty Template Engine
Smarty Template Engine
 
jQuery für Anfänger
jQuery für AnfängerjQuery für Anfänger
jQuery für Anfänger
 
Smarty 2
Smarty 2Smarty 2
Smarty 2
 
Smarty
SmartySmarty
Smarty
 
How to Use PHP Smarty Template
How to Use PHP Smarty TemplateHow to Use PHP Smarty Template
How to Use PHP Smarty Template
 
Deploying PHP applications with Phing
Deploying PHP applications with PhingDeploying PHP applications with Phing
Deploying PHP applications with Phing
 
Framework Auswahlkriterin, PHP Unconference 2009 in Hamburg
Framework Auswahlkriterin, PHP Unconference 2009 in Hamburg Framework Auswahlkriterin, PHP Unconference 2009 in Hamburg
Framework Auswahlkriterin, PHP Unconference 2009 in Hamburg
 
Building and deploying PHP applications with Phing
Building and deploying PHP applications with PhingBuilding and deploying PHP applications with Phing
Building and deploying PHP applications with Phing
 

Similaire à Smarty + PHP

Smarty Template Engine
Smarty Template EngineSmarty Template Engine
Smarty Template EngineDiego Tremper
 
Cakephp - framework de desenvolvimento de aplicações Web em PHP
Cakephp - framework de desenvolvimento de aplicações Web em PHPCakephp - framework de desenvolvimento de aplicações Web em PHP
Cakephp - framework de desenvolvimento de aplicações Web em PHPArlindo Santos
 
Faça seu portal voar usando o plone.app.caching
Faça seu portal voar usando o plone.app.cachingFaça seu portal voar usando o plone.app.caching
Faça seu portal voar usando o plone.app.cachingFabiano Weimar
 
Workshop Web e WordPress
Workshop Web e WordPressWorkshop Web e WordPress
Workshop Web e WordPressHaste Design
 
Adeus Wordpress. Ola Pelican!
Adeus Wordpress. Ola Pelican!Adeus Wordpress. Ola Pelican!
Adeus Wordpress. Ola Pelican!magnunleno
 
Phpjedi 090307090434-phpapp01 2
Phpjedi 090307090434-phpapp01 2Phpjedi 090307090434-phpapp01 2
Phpjedi 090307090434-phpapp01 2PrinceGuru MS
 
Design Patterns para Tuning Pentaho com Ctools
Design Patterns para Tuning Pentaho com CtoolsDesign Patterns para Tuning Pentaho com Ctools
Design Patterns para Tuning Pentaho com Ctoolse-Setorial
 
(A04 e A05) LabMM3 - JavaScript
(A04 e A05) LabMM3 - JavaScript(A04 e A05) LabMM3 - JavaScript
(A04 e A05) LabMM3 - JavaScriptCarlos Santos
 
Comandos gerais do PHP
Comandos gerais do PHPComandos gerais do PHP
Comandos gerais do PHPPaulo Dayvson
 
Uma implementação de suporte a
Uma implementação de suporte a Uma implementação de suporte a
Uma implementação de suporte a Rômulo Jales
 
Otimizacao de websites em PHP
Otimizacao de websites em PHPOtimizacao de websites em PHP
Otimizacao de websites em PHPFelipe Ribeiro
 
T03_LM3: Javascript (2013-2014)
T03_LM3: Javascript (2013-2014)T03_LM3: Javascript (2013-2014)
T03_LM3: Javascript (2013-2014)Carlos Santos
 
Seu framework é melhor pra quê?
Seu framework é melhor pra quê?Seu framework é melhor pra quê?
Seu framework é melhor pra quê?Jaime Neto
 
Escalabilidade em Aplicações - Fisl13
Escalabilidade em Aplicações - Fisl13Escalabilidade em Aplicações - Fisl13
Escalabilidade em Aplicações - Fisl13Flavio Torres
 
Removendo o cheiro ruim do seu código - PHPSC Conf 2011
Removendo o cheiro ruim do seu código - PHPSC Conf 2011Removendo o cheiro ruim do seu código - PHPSC Conf 2011
Removendo o cheiro ruim do seu código - PHPSC Conf 2011Luís Cobucci
 

Similaire à Smarty + PHP (20)

Slides
SlidesSlides
Slides
 
Smarty Template Engine
Smarty Template EngineSmarty Template Engine
Smarty Template Engine
 
Cakephp - framework de desenvolvimento de aplicações Web em PHP
Cakephp - framework de desenvolvimento de aplicações Web em PHPCakephp - framework de desenvolvimento de aplicações Web em PHP
Cakephp - framework de desenvolvimento de aplicações Web em PHP
 
Sapo Sessions PHP
Sapo Sessions PHPSapo Sessions PHP
Sapo Sessions PHP
 
Faça seu portal voar usando o plone.app.caching
Faça seu portal voar usando o plone.app.cachingFaça seu portal voar usando o plone.app.caching
Faça seu portal voar usando o plone.app.caching
 
Workshop Web e WordPress
Workshop Web e WordPressWorkshop Web e WordPress
Workshop Web e WordPress
 
Adeus Wordpress. Ola Pelican!
Adeus Wordpress. Ola Pelican!Adeus Wordpress. Ola Pelican!
Adeus Wordpress. Ola Pelican!
 
Phpjedi 090307090434-phpapp01 2
Phpjedi 090307090434-phpapp01 2Phpjedi 090307090434-phpapp01 2
Phpjedi 090307090434-phpapp01 2
 
Jj08 otimizacao
Jj08 otimizacaoJj08 otimizacao
Jj08 otimizacao
 
Django
DjangoDjango
Django
 
Design Patterns para Tuning Pentaho com Ctools
Design Patterns para Tuning Pentaho com CtoolsDesign Patterns para Tuning Pentaho com Ctools
Design Patterns para Tuning Pentaho com Ctools
 
(A04 e A05) LabMM3 - JavaScript
(A04 e A05) LabMM3 - JavaScript(A04 e A05) LabMM3 - JavaScript
(A04 e A05) LabMM3 - JavaScript
 
Comandos gerais do PHP
Comandos gerais do PHPComandos gerais do PHP
Comandos gerais do PHP
 
Uma implementação de suporte a
Uma implementação de suporte a Uma implementação de suporte a
Uma implementação de suporte a
 
Django Básico
Django BásicoDjango Básico
Django Básico
 
Otimizacao de websites em PHP
Otimizacao de websites em PHPOtimizacao de websites em PHP
Otimizacao de websites em PHP
 
T03_LM3: Javascript (2013-2014)
T03_LM3: Javascript (2013-2014)T03_LM3: Javascript (2013-2014)
T03_LM3: Javascript (2013-2014)
 
Seu framework é melhor pra quê?
Seu framework é melhor pra quê?Seu framework é melhor pra quê?
Seu framework é melhor pra quê?
 
Escalabilidade em Aplicações - Fisl13
Escalabilidade em Aplicações - Fisl13Escalabilidade em Aplicações - Fisl13
Escalabilidade em Aplicações - Fisl13
 
Removendo o cheiro ruim do seu código - PHPSC Conf 2011
Removendo o cheiro ruim do seu código - PHPSC Conf 2011Removendo o cheiro ruim do seu código - PHPSC Conf 2011
Removendo o cheiro ruim do seu código - PHPSC Conf 2011
 

Smarty + PHP

  • 1. Universidade Federal dos Vales Jequitinhonha e Mucuri Sistemas de Informação Apresentação à Disciplina de E.W. Tema: Smarty Lorena C. De Souza
  • 2. Índice Smarty 1 – Apresentação 1.1 Templete 1.2 Classe Templete 1.3 Classe Templete Smarty 1.4 Objetivos 1.5 Visões 2 – Instalação 3 – Sintaxe Básica 4 – Exemplos Práticos
  • 3. Smarty ● ● ● ● Qual a definição de Templete? ●
  • 4. Smarty ● Qual a definição de Templete? Um documento sem conteúdo, com apenas a apresentação visual (apenas cabeçalhos por exemplo) e instruções sobre onde e qual 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 que só podem aparecer no final. ●
  • 6. Smarty Agora qual a definição de Classe Templete? ●
  • 7. Smarty Agora qual a definição de Classe Templete? A Classe Templete tem o principal propósito manter o código HTML em arquivos externos que ficam completamente livres de código PHP. E dessa forma, manter a lógica de programação (PHP) separada da estrutura visual (HTML ou XML, CSS, etc). ●
  • 8. Smarty Com isso, gera duas “extremidades” de desenvolvimento: Html ● A parte da Visão Html CSS CSS PHP PHP ● A parte dos Controles
  • 9. Smarty Sem a Classe Template, o que tem é uma mistura de php, com html, css e etc. <?php echo "<div> <p> Ol&aacute; Mundo!</p> </div>"; ?>
  • 10. Smarty Com a Classe Template, o que tem é uma organização/separação entre os componentes de desenvolvimento da aplicação web. <html> <?php <body> require("Template.class.php"); <p>Olá Mundo!</p> $tpl = new Template("hello.html"); </body> $tpl->show(); </html> ?>
  • 11. Smarty Características específicas da Classe templete Smarty: ● Engine oficializada pela php.net ● ● Ele é extremamente rápido. ● ● Sem elevadas interpretações de template, compila uma vez. ● ● Só recompilará os arquivos de template que foram alterados. ● ● Suporte de caching embutido ● ● Arquitetura de Plugin
  • 12. Smarty Vantagens: Facilidade pra criação uma vez aprendido; Organização; Manutenção de código; Otimização do desenvolvimento do projeto – dois ambientes.
  • 13. Smarty - Instalação Requisitos: Servidor Apache PHP Biblioteca do Smarty
  • 14. Smarty - Instalação Passos: Faça o download do Smarty Descomprima todas as pastas. Verifique uma pasta "demo" Prepare de maneira a deixar visível ao www­data ● ● Dê permissão ao diretório "templates_c".
  • 15. Smarty - Instalação Árvore padrão de diretório do Smarty está organizada da seguinte  ● 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.)
  • 17. Smarty – Sintaxe ● Comentário ● {* Isto é um comentário *} ● Função, Variáveis e Atributos ● Funções Inernas: {include file=$arquivoInclude} ● Funções Inernas: {config_load file="cores.conf"} ● Funções Inernas: {if $enfase_nome} ● Funções Personalizadas: {html_options} ● Funções Personalizadas: {html_select_date display_days=yes} ● ● Escapando de Interpretação do Smarty ● {ldelim}$Name | upper{rdelim}
  • 18. Smarty – Sintaxe ● Variáveis ● ● Variável definida do php:  ● {$Nome} ● Variável composta definida do php: ● {$Contatos[row].Telefone} ● ● Variável de configuração:  <body bgcolor="{#cordefundo}"> ● ● Variável reservada:  ● $smarty
  • 19. Smarty – Sintaxe ● Variá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  ● ●
  • 20. Smarty – Sintaxe ● Variá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.
  • 21. Smarty – Sintaxe  Variá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.
  • 22. Smarty – Sintaxe Outras sintaxe reservadas do Smarty: ● ● ● {$smarty.now} – retorna o timestamp atual. ● ● {$smarty.capture} – captura a saída. ● ● {$smarty.template} ­ contém o nome do template atual. {$smarty.template} ● ● {$smarty.section}, {$smarty.foreach} ● ● {$smarty.ldelim} e {$smarty.rdelim}: delimitador esquerdo e direito.
  • 23. Smarty – 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."} ● ●
  • 24. Smarty – 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}
  • 25. Smarty – 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.
  • 26. Smarty – Sintaxe ● Exemplo de caching require('Smarty.class.php'); $smarty = new Smarty; $smarty->caching = true; $smarty->display('index.tpl'); Multiple Chaches per Page
  • 27. Smarty – 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. 
  • 28. Smarty – 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.