+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 (~20 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 (~23 anos atrás)

    Novo Comentário:

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