Classe de template muito simples e facil de utilizar.
Muitos programadores já estiveram brigando com sistemas e classes de templates. Eu também, é claro!
Lá por 2003 escreví uma classe de template, que divulguei no phpbrasil, e que teve muitas opiniões dos leitores, as quais levei em conta para melhorar a classe.
Desde então uso esta classe para meus sistemas, e não tenho tido problemas com ela. É uma “mão na roda” tão grande, que praticamente já não programo php sem ela :).
Como tenho uma dívida dupla com o phpbrasil (uma porque prometí ao João que ia voltar a publicar, e outra para retribuir as opiniões que tanto me serviram), volto ao tema, publicando a classe completa, e explicando seu funcionamento e uso.
Primeiro, vejamos que vantagens se pode obter ao utilizar uma classe assim, tão simples:
- Simplicidade extrema - Uma simples classe, muito leve, que pode ser utilizada para qualquer tipo de página.
- Configuração zero – Em principio, você não precisa configurar nada. Mas se desejar, pode fazer alguns “truquezinhos” interessantes, com um mínimo de esforço.
- Isolação excelente do código PHP do HTML. Seu programa fica bonitinho, com cara de PHP puro (sem tags, echos o qualquer coisa parecida).
- I18n – Isso mesmo: Internacionalização fácil!!! Já esteve horas quebrando a cabeça para traduzir e manter uma página. Seus problemas acabaram! :)
- Variaveis – Teu HTML agora pode conter variaveis, que serão avaliadas em tempo de execução e interpretadas corretamente.
- Javascript transparente – Quando precise usar javascript, pode seguir fazendo-o desde um arquivo externo, ou mesmo incluir parte do código dentro do arquivo de template.
Nesta primeira parte, me dedicarei a instalação, e uso dos recursos mais simples.
Instalação:
Instalar esta classe é super fácil: Busque a mesma aqui no phpbrasil:
http://www.phpbrasil.com/script/MP56ekxX3AK/y_template
Copie-a no seu site e inclua a chamada da mesma no seu programa.
Eu costumo utilizar um diretorio “include” onde coloco minhas classes, e um diretorio “templates”, onde coloco os templates. Considerando que você fará algo parecido, copie a classe Y_Template.class.php para o diretório “include”.
Uso:
Agora, vamos a um exemplo claro e direto:
Versão convencional:
Esta é uma página “boba” que faz um cabeçalho, e uma tabelinha de clientes, com seus respectivos telefones (que estão armazenados em um array). Observe a confusão de HTML misturado com PHP. Além de feio, o código fica muito mais difícil de manter (em especial se é um sistema grande).
Agora vamos transformá-la em uma página com template. Primeiro, crie um arquivo para o template (digamos que seja “templates/teste.html”). O conteudo será o de uma página, mas obedecendo a algumas regrinhas básicas.
Lá por 2003 escreví uma classe de template, que divulguei no phpbrasil, e que teve muitas opiniões dos leitores, as quais levei em conta para melhorar a classe.
Desde então uso esta classe para meus sistemas, e não tenho tido problemas com ela. É uma “mão na roda” tão grande, que praticamente já não programo php sem ela :).
Como tenho uma dívida dupla com o phpbrasil (uma porque prometí ao João que ia voltar a publicar, e outra para retribuir as opiniões que tanto me serviram), volto ao tema, publicando a classe completa, e explicando seu funcionamento e uso.
Primeiro, vejamos que vantagens se pode obter ao utilizar uma classe assim, tão simples:
- Simplicidade extrema - Uma simples classe, muito leve, que pode ser utilizada para qualquer tipo de página.
- Configuração zero – Em principio, você não precisa configurar nada. Mas se desejar, pode fazer alguns “truquezinhos” interessantes, com um mínimo de esforço.
- Isolação excelente do código PHP do HTML. Seu programa fica bonitinho, com cara de PHP puro (sem tags, echos o qualquer coisa parecida).
- I18n – Isso mesmo: Internacionalização fácil!!! Já esteve horas quebrando a cabeça para traduzir e manter uma página. Seus problemas acabaram! :)
- Variaveis – Teu HTML agora pode conter variaveis, que serão avaliadas em tempo de execução e interpretadas corretamente.
- Javascript transparente – Quando precise usar javascript, pode seguir fazendo-o desde um arquivo externo, ou mesmo incluir parte do código dentro do arquivo de template.
Nesta primeira parte, me dedicarei a instalação, e uso dos recursos mais simples.
Instalação:
Instalar esta classe é super fácil: Busque a mesma aqui no phpbrasil:
http://www.phpbrasil.com/script/MP56ekxX3AK/y_template
Copie-a no seu site e inclua a chamada da mesma no seu programa.
Eu costumo utilizar um diretorio “include” onde coloco minhas classes, e um diretorio “templates”, onde coloco os templates. Considerando que você fará algo parecido, copie a classe Y_Template.class.php para o diretório “include”.
Uso:
Agora, vamos a um exemplo claro e direto:
Versão convencional:
<html> <body> <?php $title="Nome do Site"; $name="Empresa XXXXX"; $author="Sergio Pohlmann <sergio@ycube.net>"; echo "<center>"; echo "<title>$title</title>"; echo "<h1> $name </h1>"; echo "<h2> $author </h2>"; echo "<hr />"; $client=array("Joao","Pedro","Augusto"); $phone=array("09878 877776","123927363","0092839891"); echo "<table border=1>"; echo "<tr>"; echo " <th>Cliente</th>"; echo " <th>Telefone</th>"; echo "</tr>"; for( $x=0; $x<count($client); $x++ ){ echo "<tr>"; echo " <td> $client[$x] </td>"; echo " <td> $phone[$x] </td>"; echo "</tr>"; } echo "</table>"; ?> </body> </html>
Esta é uma página “boba” que faz um cabeçalho, e uma tabelinha de clientes, com seus respectivos telefones (que estão armazenados em um array). Observe a confusão de HTML misturado com PHP. Além de feio, o código fica muito mais difícil de manter (em especial se é um sistema grande).
Agora vamos transformá-la em uma página com template. Primeiro, crie um arquivo para o template (digamos que seja “templates/teste.html”). O conteudo será o de uma página, mas obedecendo a algumas regrinhas básicas.
Recomendadisimo este Scritpt super simples so un arquivo sim (So un arquivo) nada que ver con Smarty etc
Eu o uso ja faz un tempo en guosto muinto agora en un projecto de investigação aplicada bastante grande con soporte a i18n fornecido por Y_Template
Mais info aqui: http://gurskiide.blogspot.com
Eu o uso ja faz un tempo en guosto muinto agora en un projecto de investigação aplicada bastante grande con soporte a i18n fornecido por Y_Template
Mais info aqui: http://gurskiide.blogspot.com
16/12/2009 3:13am
(~15 anos atrás)
http://www.conquestvisual.com.br