
14/06/2006 - Interagindo com o teclado dinâmicamente - Parte II
08/04/2006 - Critérios de armazenamento no Oracle
07/12/2003 - Action Script 2.0 ( Primeira Parte )
15/05/2004 - Indexação de Sites: robots.txt
16/02/2005 - Menu Circular em 3D
21/04/2003 - instalação da classe FastTemplate
09/01/2003 - Sistema de Banner Rotativo
18/03/2006 - Sistema: Recomende este Site para seus amigos
28/01/2003 - Instalando Plug-ins
09/01/2003 - Letras transparentes
07/02/2003 - Buscas na internet sem mistério
09/01/2003 - Inserindo Registros
09/01/2003 - Paginando registros com o Dreamweaver MX
14/01/2005 - Validando um e-mail checando se o domínio existe ou não...
Leituras: 3189 -
Introdução
Um gerente de projetos para a web sempre esbarra num mesmo problema,se tenho uma equipe heterogênea, ou seja, um programador PHP, um web designer, um animador e um editor de conteúdo, o que posso fazer para equilibrar as diferenças técnicas entre os membros da equipe ?Uma vez que o programador passa um script PHP com complexas estruturas de looping, definições de hashes e consultas, como tornar o trabalho do web designer independente se a praia dele não é programação ? Se você adota esse procedimento no desenvolvimento de seus projetos, com certeza vai perder muito tempo (e dinheiro) durante a fase de desenvolvimento. Se o seu programador ficar doente, seu web designer ficará em stand by até que alguém possa tirar suas dúvidas com relação ao script misturado com HTML que ele precisa formatar.
Para os mais preocupados com a segurança do site, também temos que considerar que quanto menor o número de pessoas com acesso aos códigos do seu site, menos exposto à vazamento de informações ele estará sujeito.
Se depois desses argumentos você está convencido que o método convencional não é o ideal, é sinal que está pronto para ser apresentado à classe FastTemplate do PHP, que tem como principal característica separar completamente qualquer código de linguagem do HTML do script, além da possibilidade de reaproveitar modelos previamente criados.
Instalação:A instalação da classe FastTemplate é bem simples. Vamos começar pelo seu download a partir da ?página oficial?:
http://www.thewebmasters.net/php/FastTemplate.phtml
Também mantenho um mirror do arquivo em:
http://www.vivaolinux.com.br/download.php?file=class.FastTemplate.zip
O próximo passo será o de configurar o diretório onde você armazena as classes públicas do PHP. Procure pela entrada "include_path" no arquivo de configuração php.ini da sua distribuição e adicione à ela o diretório escolhido para armazenamento da classe:
include_path = ".:/usr/share/php"
No exemplo acima, escolhi o diretório /usr/share/php. Certifique-se que o diretório existe e copie o arquivo class.FastTemplate.php3 (obtido em download) para o mesmo:
cp class.FastTemplate.php3 /usr/share/php/
Finalmente, reinicie o Apache.Elaborando o script - parte 1
A partir de agora, nossos scripts PHP serão divididos em duas partes: o código de programação e o código de formatação. Em outras palavras, comandos PHP em um arquivo, tags HTML em outro. Enfim, vamos à parte prática do artigo.
Sempre que uso a FastTemplate, crio um diretório chamado modelos um nível abaixo do diretório raiz do meu site, este é meu padrão, cada programador tem o seu. Sendo assim, vamos criar nosso primeiro exemplo olaMundo.php. Acompanhe os comentários:<!-- olaMundo.php -->
<?
include 'class.FastTemplate.php3';
/*
note que não precisamos informar onde está o arquivo citado acima, pois
isso já foi configurado no Apache (php.ini)
*/
$model = new FastTemplate('./modelos');
// criar uma nova instância de FastTemplate. Nossos modelos HTML estão
// localizados abaixo do diretório ./modelos
$model-> define (
array ( 'pagina' => 'olaMundo.html' )
); // olaMundo.html é o nosso modelo e será identificado por "pagina"
$greeting = 'Olá mundo ! Estamos no phpbrasil.com :)';
$model->assign('{ANYTHING}',$greeting);
// substitua toda ocorrência de {ANYTHING} no modelo carregado pelo
// valor da variável $greeting
$model->parse('OUTPUT','pagina');
// atribua ao handle OUTPUT a saída do processamento do modelo
$model->FastPrint('OUTPUT');
// imprima na tela o conteúdo de OUTPUT
?>
<!-- fim do programa -->A partir de agora, nossos scripts PHP serão divididos em duas partes: o código de programação e o código de formatação. Em outras palavras, comandos PHP em um arquivo, tags HTML em outro. Enfim, vamos à parte prática do artigo.
Sempre que uso a FastTemplate, crio um diretório chamado modelos um nível abaixo do diretório raiz do meu site, este é meu padrão, cada programador tem o seu. Sendo assim, vamos criar nosso primeiro exemplo olaMundo.php. Acompanhe os comentários:<!-- olaMundo.php -->
<?
include 'class.FastTemplate.php3';
/*
note que não precisamos informar onde está o arquivo citado acima, pois
isso já foi configurado no Apache (php.ini)
*/
$model = new FastTemplate('./modelos');
// criar uma nova instância de FastTemplate. Nossos modelos HTML estão
// localizados abaixo do diretório ./modelos
$model-> define (
array ( 'pagina' => 'olaMundo.html' )
); // olaMundo.html é o nosso modelo e será identificado por "pagina"
$greeting = 'Olá mundo ! Estamos no phpbrasil.com :)';
$model->assign('{ANYTHING}',$greeting);
// substitua toda ocorrência de {ANYTHING} no modelo carregado pelo
// valor da variável $greeting
$model->parse('OUTPUT','pagina');
// atribua ao handle OUTPUT a saída do processamento do modelo
$model->FastPrint('OUTPUT');
// imprima na tela o conteúdo de OUTPUT
?>
<!-- fim do programa -->Em seguida, vamos criar o modelo HTML:
<!-- ./modelos/olaMundo.html -->
<HTML>
<BODY BGCOLOR="#ffffff">
<h3>Um Simples Modelo</h3>
You: Oi FastTemplate, fale algo ...<br>
PHP: {ANYTHING}
</BODY>
</HTML>
<!-- fim do modelo -->Simples não ? Estou de acordo que para um script básico como esse utilizar o FastTemplate é trabalho injustificável, mas à medida que o site vai crescendo, o esquema de modelos nos ajuda a manter a organização e independência das partes. Por fim, você só vai precisar passar a árvore de diretórios ./modelos para seu web designer.
No próximo artigo vamos nos aprofundar um pouco na utilização dessa classe,como por exemplo, modelos para linhas de tabela, que se repetem em looping e você não pode prever a quantidade de variáveis que serão usadas. Antes disso preciso sair para tirar umas fotos da delegação brasileira passando aqui no Rio.
Atenciosamente,Fábio Berbert de Paulafabio@vivaolinux.com.br