Pular para o conteúdo

O uso de templates em PHP

Qualquer webmaster que enfrentou a missão de manter um site de médio a grande porte, sabe a dificuldade que isso significa, principalmente no que diz respeito a relação entre o design e a programação. Este artigo nos mostra uma simples classe de template para PHP.
Elton Luís Minetto elm
Hits: 40.551 Categoria: PHP Subcategoria: Miscelânea
  • Indicar
  • Impressora
  • Denunciar

Parte 2: Aplicando templates

Exemplo de template:

<STYLE type=text/css>
BODY {
    COLOR: black; FONT-FAMILY: Verdana,Helvetica, Geneva, Arial,  sans-serif; FONT-SIZE: 14px; FONT-STYLE: normal; FONT-WEIGHT: normal; TEXT-DECORATION: none
}
text {
    COLOR: black; FONT-FAMILY: Verdana, Helvetica, Geneva, Arial, sans-serif; FONT-SIZE: 12px; FONT-STYLE: normal; FONT-WEIGHT: normal; TEXT-DECORATION: none
}
bar {
    COLOR: yellow; FONT-FAMILY: Verdana, Helvetica, Geneva, Arial, sans-serif; FONT-SIZE: 11px; FONT-STYLE: normal; FONT-WEIGHT: bold
}
INPUT {
    BACKGROUND-COLOR: #ffffe0; COLOR: blue; FONT-FAMILY: Verdana, Geneva, Arial, Helvetica, sans-serif; FONT-SIZE: 11px
}
SELECT {
    BACKGROUND-COLOR: #ffffe0; COLOR: blue; FONT-FAMILY: Verdana, Geneva, Arial, Helvetica, sans-serif; FONT-SIZE: 11px
}
TEXTAREA {
    BACKGROUND-COLOR: #ffffe0; COLOR: blue; FONT-FAMILY: Verdana, Geneva, Arial, Helvetica, sans-serif; FONT-SIZE: 11px
}
INPUT.bt {
    BACKGROUND-COLOR: #00008b; BORDER-BOTTOM: white 1px solid; BORDER-LEFT: white 1px solid; BORDER-RIGHT: white 1px solid; BORDER-TOP: white 1px solid; COLOR: yellow; FONT-FAMILY: Verdana, Geneva, Arial, Helvetica, sans-serif; FONT-SIZE: 10px; TEXT-ALIGN: center
}
FORM {
    DISPLAY: inline
}
A {
    COLOR: blue; FONT-FAMILY: Verdana, Geneva, Arial, Helvetica, sans-serif; FONT-SIZE: 12px; FONT-WEIGHT: bold; TEXT-DECORATION: none
}
A:hover {
    COLOR: black; TEXT-DECORATION: underline
}
</STYLE>

<BODY bgColor="#FFFFFF">
<p> </p>
<p> </p>
<center>
   <table border="0">
   <tr>
      <td align="right" bgcolor="#0b740b">
         <table border="0" cellspacing="0" cellpadding="0">
         <tr bgcolor="#0b740b">
            <td width="100%"><font color="white" size="2"><b>#TITULO </b></font></td>
         </tr>
         </table>
         <table border="3" bordercolor="#0b740b" cellspacing="0" cellpadding="0">
         <tr bgcolor="silver">
            <td width="100%">
               #TABLE_CENTRAL
               #TABLE_FINAL
            </td>
         </tr>
         </table>
      </td>
   </tr>
   </table>
</center>
</body>
</html>

Na verdade o template é um simples arquivo HTML com apenas algumas modificações. As palavras começando com # (#TITULO, #TABLE_CENTRAL, #TABLE_FINAL) são as partes do modelo que serão alteradas pelo script PHP.

No exemplo acima, caso se precise alterar as configurações de bgcolor ou alguma outra na sessão <STYLE>, todas as páginas que usam o modelo sofrem as alterações.

No exemplo abaixo, o script PHP que usa o template:

<?php
include("template.lib");
$TITULO = "Página Exemplo";
$TABLE_CENTRAL = '
<table border="0">
<tr>
   <td>Teste de Tabela</td>
</tr>
</table>
';
$TABLE_FINAL = '
<table border="0">
<tr>
   <td>Sair</td>
</tr>
</table>
';
ReadTLE("teste.tle");
?>

O script acima é apenas um exemplo do que pode-se fazer com um pouco de criatividade. A instrução ReadTLE("teste.tle"); faz a mesclagem dos dados usando as variáveis do modelo (#TITULO,...) e a imprime para o navegador.

   1. Introdução
   2. Aplicando templates
   3. Um exemplo mais avançado
Nenhum artigo encontrado.

Debugando aplicações PHP usando phpdbg - parte 01

Gráficos em PHP Highcharts

Funções da categoria Miscelânea do PHP

Criando um blog com o CakePHP 2.2.1

Instalando a extensão json para o php-5.1 no CentOS/Red Hat

#1 Comentário enviado por fabio em 25/10/2003 - 03:40h
É sempre bom conhecermos uma classe de template alternativa. Sempre uso a FastTemplate.
#2 Comentário enviado por removido em 25/10/2003 - 20:41h
O grande problema é não consegue-se encontrar essa classe no site indicado por redireciona para o site do tal Sunil Baek em japonês ou koreano sei lá.
Poderia ser colocado um link alternativo aqui ou mesmo publicada a classe!
#3 Comentário enviado por Oki em 26/10/2003 - 15:30h
Bom, eu gosto de usar Smarty Templates, http://smarty.php.net, gosto do smarty por causa do esquema de cache que ele tem :-)

[]'s
Celso Goya
moinho.net
#4 Comentário enviado por Ragen em 26/10/2003 - 20:48h
Celso,

Escrevi um artigo sobre o uso do cache na FastTemplate, assim como a Smarty agora ela suporta cache... Confira os artigos mais antigos ou na própria sessão do site sobre a FastTemplate CVS revision. 1.2.0

[]`s

Ragen

Contribuir com comentário

Entre na sua conta para comentar.