• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Smarty + PHP
 

Smarty + PHP

on

  • 5,149 views

Este é um slide sobre a biblioteca Smarty do php criada por Lorena C. de Souza, baseada no próprio site smarty.net

Este é um slide sobre a biblioteca Smarty do php criada por Lorena C. de Souza, baseada no próprio site smarty.net

Statistics

Views

Total Views
5,149
Views on SlideShare
4,395
Embed Views
754

Actions

Likes
0
Downloads
62
Comments
0

4 Embeds 754

http://www.guanabara.info 743
http://www.ipotezi.com 8
http://ipotezi.com 2
http://static.slidesharecdn.com 1

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Smarty + PHP Smarty + PHP Presentation Transcript

    • Universidade Federal dos Vales Jequitinhonha e Mucuri Sistemas de Informação Apresentação à Disciplina de E.W. Tema: Smarty Lorena C. De Souza
    • Índice Smarty1 – Apresentação 1.1 Templete 1.2 Classe Templete 1.3 Classe Templete Smarty 1.4 Objetivos 1.5 Visões2 – Instalação3 – Sintaxe Básica4 – 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 qualtipo de conteúdo deve entrar a cada parcela da apresentação —por exemplo conteúdos que podem aparecer no início e conteúdosque 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 ocódigo HTML em arquivos externos que ficamcompletamente livres de código PHP. E dessa forma,manter a lógica de programação (PHP) separada daestrutura visual (HTML ou XML, CSS, etc).●
    • Smarty Com isso, gera duas “extremidades” dedesenvolvimento: Html● A parte da Visão Html CSS CSS PHP PHP● A parte dos Controles
    • SmartySem a Classe Template, o que tem é uma mistura de php, comhtml, css e etc. <?php echo "<div> <p> Ol&aacute; Mundo!</p> </div>"; ?>
    • SmartyCom a Classe Template, o que tem é uma organização/separaçãoentre 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> ?>
    • SmartyCaracterísticas específicas da Classe templeteSmarty: ● 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
    • SmartyVantagens: Facilidade pra criação uma vez aprendido; Organização; Manutenção de código; Otimização do desenvolvimento do projeto – doisambientes.
    • Smarty - InstalaçãoRequisitos: Servidor Apache PHP Biblioteca do Smarty
    • Smarty - InstalaçãoPassos: 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 – SintaxeOutras 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 – SintaxeModificadores 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 – SintaxeModificadores 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!!