Organizando projetos com a classe FastTemplate (parte 2)
Uma situação muito comum é o aproveitamento de um único script para interceptação de dados e processamento ao mesmo tempo. Para ilustrar esta prática, vamos resolver o seguinte estudo de caso: queremos um formulário que em sua forma original sirva de interface para entrada de nome e email do usuário e quando submetido, processe e mostre os dados na tela.
Uma vez que adotamos o FastTemplate como classe para modelos HTML, vamos seguir a seguinte linha de raciocínio:
1. Se o nome e/ou email ainda não foram preenchidos então
Carregue o template HTML do formulário para entrada de dados
Carregue o template HTML que exibe as informações do usuário na tela
Vamos ao código:
Em seguida, criamos os modelos HTML:
Modelo de exibição dos dados:
Uma vez que adotamos o FastTemplate como classe para modelos HTML, vamos seguir a seguinte linha de raciocínio:
1. Se o nome e/ou email ainda não foram preenchidos então
Vamos ao código:
<!-- templateMultiFace.php -->
<?php
include 'class.FastTemplate.php3'; // carregar classe
$model = new FastTemplate('./modelos'); // repositório de modelos
if (!$nome && !$email) {
// se o usuário ainda não preencheu o formulário, carregar este modelo
$model-> define ( array ( 'pagina' => 'formulario.html' ) );
} else {
// se já preencheu, carregue modelo que mostra os dados na tela
$model-> define ( array ( 'pagina' => 'exibirDados.html' ) );
$model->assign('{NOME}',$nome); // misturar valores das variáveis com
$model->assign('{EMAIL}',$email); // as variáveis do modelo
}
$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 -->
Em seguida, criamos os modelos HTML:
<!-- ./modelos/formulario.html -->
<html>
<body>
<form>
Nome: <input type="text" size="25" name="nome"><br>
Email: <input type="text" size="25" name="email"><br>
<input type="submit" value=" Enviar ">
</form>
</body>
</html>
<!-- fim -->
Modelo de exibição dos dados:
<!-- ./modelos/exibirDados.html -->
<html>
<body>
Olá {NOME}, seu endereço de emai é {EMAIL} e
agora você faz parte do exército dos Cavalheiros de Jedi !!!
Ops, Jedi não, PHPBrasil :)
</body>
</html>
<!-- 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