Organizando projetos com a classe FastTemplate (parte 2)
Outra situação muito comum na programação com uso de templates é o uso de quantidade indefinida de variáveis. Uma vez que você busca dados a partir de uma tabela de banco de dados, não se pode prever o número de registros serão retornados ao seu script, daí surge a necessidade do uso de um template duplo, ou seja, um template para a parte estática do HTML e outro para a parte indefinida (dinâmica).
No exemplo ilustrado neste artigo, vamos definir um array com alguns elementos, já que a conexão com o banco de dados tornaria nossa leitura mais complexa e prolongada. Faremos de conta que este array foi obtido a partir de consultas ao seu banco de dados favorito, ok ?
No exemplo ilustrado neste artigo, vamos definir um array com alguns elementos, já que a conexão com o banco de dados tornaria nossa leitura mais complexa e prolongada. Faremos de conta que este array foi obtido a partir de consultas ao seu banco de dados favorito, ok ?
<!-- modeloDuplo.php -->
<?php
include 'class.FastTemplate.php3'; // carregar classe
$model = new FastTemplate('./modelos'); // repositório de modelos
$model -> define (
array ( 'pagina' => 'modeloDuplo.html',
'linhas' => 'itemModeloDuplo.html'
)
); // definimos um template para a parte estática e outro que será
// processado para cada linha de um vetor
$vetorFazDeConta = array (
"Fábio B. de Paula" => "fabio@vivaolinux.com.br",
"Zé Menino da Lagoa" => "zemenino@vivaolinux.com.br",
"Florentina de Jesus" => "florentina@vivaolinux.com.br",
"Marcolino Pão-e-Vinho" => "marcolino@vivaolinux.com.br"
);
reset($vetorFazDeConta);
while ( list($nome,$email) = each($vetorFazDeConta) ) {
$model->assign('{NOME}',$nome); // as variáveis {NOME} e {EMAIL} estarão
$model->assign('{EMAIL}',$email); // definidas no template que executa uma vez
// para cada linha do vetor
$model->parse('{LINHAS}','.linhas');
// a variável {LINHAS} aparecerá no template estático do HTML e será substituído
// pela concatenação de cada processamento sobre o handle ".linhas". Note que
// existe um '.' antes do nome do handle, para dizer ao FastTemplate que este
// processamento trata-se de uma concatenação
}
$model->assign('{TITULO}','Exemplo de modelo dinâmico do FastTemplate');
// a variável {TITULO} é estática e está no template estático
$model->parse('OUTPUT','pagina');
$model->FastPrint('OUTPUT');
?>
<!-- fim -- >
cara parabens pelos artigos to começando com template agora e vou ultilizar fast no proximo projeto.
mas ainda tenho algumas duvidas de funcionabilidade como por exemplo as classes onde utilizo cgi para montar checkbox etc como ficaria isto ? da mesma forma que um banco ?
em geral seus artigos me deram um boa clareada ...
FALEU .
mas ainda tenho algumas duvidas de funcionabilidade como por exemplo as classes onde utilizo cgi para montar checkbox etc como ficaria isto ? da mesma forma que um banco ?
em geral seus artigos me deram um boa clareada ...
FALEU .
26/07/2002 2:40pm
(~23 anos atrás)
Fatal error: Cannot redeclare clear_parse() in c:\php\includes\class.FastTemplate.php3 on line 636
fiz tudo como vc falo mas naum funfo... se poder dar uma lhadinha agradeço...
Eduardo Malta