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
(~22 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