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