+1

Organizando projetos com a classe FastTemplate (parte 2)

criado por Fábio Berbert de Paula em 19/07/2002 8:14pm
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:

    <!-- 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 -->
    

    Comentários:

    Mostrando 1 - 2 de 2 comentários
    Eduardo Malta disse:
    Falameu amigo?? estou testatndo o FastTemplate ma sdá um erro :

    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
    28/02/2005 9:15am (~19 anos atrás)

    leo genilhu disse:
    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 .
    26/07/2002 2:40pm (~22 anos atrás)

    Novo Comentário:

    (Você pode usar tags como <b>, <i> ou <code>. URLs serão convertidas para links automaticamente.)