SlideShare una empresa de Scribd logo
1 de 13
Descargar para leer sin conexión
Programação Web
   Fatec Ipiranga
   Análise e Desenvolvimento de Sistemas


   Aula 10 – Trabalhando com Templates




      Dalton Martins
    dmartins@gmail.com

 São Paulo, Novembro, 2011




Aula baseada no tutorial: http://raelcunha.com/template.php
Para que servem os Templates?
Boas práticas de programação presumem que
 tenhamos nosso sistemas organizado em 3
 camadas:
    – Camada de interface: o que é utilizado pelo usuário
       no acesso ao sistema;
    – Camada de lógica: onde fica a lógica do sistema,
       fluxos de informação, processos, cálculos, etc,
    – Camada de persistência de dados: onde são
       guardados os dados – Banco de Dados.
Os templates servem para separar camada de
 interface e lógica!
Para que servem os Templates?
Na prática, teremos:
    – Arquivos HTML: contém toda a interface de
       relação com o usuário, objetos de interface,
       configuração visual, cores, fontes, blocos,
       menus, etc...
    – Arquivos PHP: irão incorporar os arquivos HTML,
       podendo configurar determinadas partes de
       sua exibição conforme suas necessidades
       expecíficas.
Biblioteca de Template
O PHP possui várias bibliotecas de templates para
 apoiar esse tipo de desenvolvimento.
     – Exemplos: smarty, phptemplate, zend, etc...
No entanto, muitas são complexas e difíceis de utilizar,
 demandando tempo de estudo;
Iremos utilizar uma biblioteca das mais simples, que no
  entanto atende aos requisitos para separação do
  sistema em camadas:
     – Baixar o arquivo e instalar no diretório do programa;
     – http://raelcunha.com/packages/extra/template/files/Templ
         ate_pt-br.zip
Começando...
Vamos gerar inicialmente dois arquivos:
        – Ola.php
        – Ola.html


<?php                               <html>
                                    <body>
 require("Template.class.php");
                                       Olá Mundo, com templates PHP!
 $tpl = new Template("ola.html");
                                    </body>
 $tpl->show();                      </html>

?>
Configurando variáveis


                                      <?php
<html>
<body>                                 require("Template.class.php");
   Olá {FULANO}, com templates PHP!    $tpl = new Template("ola.html");
                                       $tpl->FULANO = "TESTE";
</body>                                $tpl->show();
</html>
                                      ?>
Checando se variáveis existem

  <?php

   require("Template.class.php");

   $tpl = new Template("layout.html");

   // Checando existência da variável antes da atribuição
   if($tpl->exists("FULANO")) $tpl->FULANO = "TESTE";

   $tpl->show();

  ?>
Trabalhando com blocos

<html>
<body>

    <p>Quantidade de produtos cadastrados no sistema:</p>

    <!-- BEGIN BLOCK_QUANTIDADE -->
    <div class="destaque">Existem {QUANTIDADE} produtos cadastrados.</div>
    <!-- END BLOCK_QUANTIDADE -->

    <!-- BEGIN BLOCK_VAZIO -->
    <div class="vazio">Não existe nenhum produto cadastrado.</div>
    <!-- END BLOCK_VAZIO -->

</body>

</html>
Trabalhando com blocos
<?php

 require("Template.class.php");

 $tpl = new Template("hello.html");

 // Vamos supor que esta quantidade veio do banco de dados
 $quantidade = 5;

 // Se existem produtos cadastrados, vamos exibir a quantidade
 if($quantidade > 0){
     $tpl->QUANTIDADE = $quantidade;
     $tpl->block("BLOCK_QUANTIDADE");
 }

 // Caso não exista nenhum produto, exibimos a mensagem de vazio
 else {
    $tpl->block("BLOCK_VAZIO");
 }


 $tpl->show();

?>
Trabalhando com blocos e tabelas
      <html>
      <body>

         <p>Produtos cadastrados no sistema:</p>

         <table border=1>


                <tr><td>Nome</td><td>Quantidade</td></tr>

                <!-- BEGIN BLOCK_PRODUTO -->
                     <tr>
                          <td> {NOME} </td>
                          <td> {QUANTIDADE} </td>
                     </tr>
                <!-- END BLOCK_PRODUTO -->

         </table>

      </body>
      </html>
Trabalhando com blocos e tabelas
    <?php

     require("Template.class.php");

     $tpl = new Template("hello.html");

     // Simulando produtos cadastrados no banco de dados
     $produtos = array(
        array("nome" => "Sabão em Pó", "quantidade" => 15),
        array("nome" => "Escova de Dente", "quantidade" => 53),
        array("nome" => "Creme Dental", "quantidade" => 37)
     );

     // Listando os produtos
     foreach($produtos as $p){
         $tpl->NOME = $p["nome"];
         $tpl->QUANTIDADE = $p["quantidade"];
         $tpl->block("BLOCK_PRODUTO");
     }

     $tpl->show();

    ?>
Trabalhando com layouts
<html>
<body>
<div id="layout" style="width:500px">

<div id="cabecalho" style="background-color:#FFA500;">
<h1 style="margin-bottom:0;">{TITULO}</h1></div>

<div id="menu" style="background-color:#FFD700;height:400px;width:100px;float:left;">
<b>Menu</b><br />
<a href="{LINK1}">{OPCAO1}</a><br />
<a href="{LINK2}">{OPCAO2}</a><br />
{OPCAO3}</div>

<div id="conteudo" style="background-color:#EEEEEE;height:400px;width:400px;float:left;">

<form action="exemplosimples.php" method="post">
<fieldset>
<br>
<legend>Informacoes pessoais:</legend>
Nome: <input type="text" name="nome" size="30" /><br />
email: <input type="text" name="email" size="30" /><br />
Data de nascimento: <input name="data" type="text" size="10" /><br>
<textarea rows="10" cols="30" name="areatexto"> Informacoes extras: </textarea> <br>

<input type="submit" name = "enviar" value="Enviar" />

</fieldset>
</form>
</div>
<div id="footer" style="background-color:#FFA500;clear:both;text-align:center;">
Copyleft FATEC Ipiranga</div>

</div>
</body>
</html>
Trabalhando com layouts

<?php

 require("Template.class.php");

 $tpl = new Template("layout.html");
 $tpl->TITULO = "fatec ipiranga";
 $tpl->OPCAO1 = "OPCAO MENU 1";
 $tpl->LINK1 = "http://www.facebook.com";

 $tpl->OPCAO2 = "OPCAO MENU 2";
 $tpl->LINK2 = "http://www.google.com.br";

 $tpl->show();

?>

Más contenido relacionado

La actualidad más candente

Sql - Comandos dml do mysql - parte 1
Sql - Comandos dml do mysql - parte 1Sql - Comandos dml do mysql - parte 1
Sql - Comandos dml do mysql - parte 1Arley Rodrigues
 
[FISL 16] PHP no Campo de Batalha: Segurança Avançada e Programação Defensiva...
[FISL 16] PHP no Campo de Batalha: Segurança Avançada e Programação Defensiva...[FISL 16] PHP no Campo de Batalha: Segurança Avançada e Programação Defensiva...
[FISL 16] PHP no Campo de Batalha: Segurança Avançada e Programação Defensiva...Rafael Jaques
 
Php 03 Sessoes Cookies Cabecalhos
Php 03 Sessoes Cookies CabecalhosPhp 03 Sessoes Cookies Cabecalhos
Php 03 Sessoes Cookies CabecalhosRegis Magalhães
 
Treinamento de SQL Básico
Treinamento de SQL BásicoTreinamento de SQL Básico
Treinamento de SQL BásicoIgor Alves
 
Programação Dinâmica para Web - Aula 2
Programação Dinâmica para Web - Aula 2Programação Dinâmica para Web - Aula 2
Programação Dinâmica para Web - Aula 2Thyago Maia
 
PHP básico para iniciantes
PHP básico para iniciantesPHP básico para iniciantes
PHP básico para iniciantesEduardo Mendes
 
Desenvolvimento de um CRUD utilizando Stored Procedure
Desenvolvimento de um CRUD utilizando Stored ProcedureDesenvolvimento de um CRUD utilizando Stored Procedure
Desenvolvimento de um CRUD utilizando Stored ProcedureFernando Roberto Proença
 
Introdução a Desenvolvimento Web
Introdução a Desenvolvimento WebIntrodução a Desenvolvimento Web
Introdução a Desenvolvimento WebPeslPinguim
 
Sql Server Stored Procedures
Sql Server   Stored ProceduresSql Server   Stored Procedures
Sql Server Stored Proceduresalexdutra
 
Utilizando views, stored procedures e triggers
Utilizando views, stored procedures e triggersUtilizando views, stored procedures e triggers
Utilizando views, stored procedures e triggersDaniel Maia
 
Prática de laboratório utilizando views, stored procedures e triggers
Prática de laboratório   utilizando views, stored procedures e triggersPrática de laboratório   utilizando views, stored procedures e triggers
Prática de laboratório utilizando views, stored procedures e triggersDaniel Maia
 
Solr - Indexação e Busca com ferramenta Open Source
Solr - Indexação e Busca com ferramenta Open SourceSolr - Indexação e Busca com ferramenta Open Source
Solr - Indexação e Busca com ferramenta Open SourceMarcelo Rodrigues
 
Otimização e Escalabilidade
Otimização e EscalabilidadeOtimização e Escalabilidade
Otimização e Escalabilidademetzen
 
Aula 01 PHP+MySQL - LabMM4
Aula 01 PHP+MySQL - LabMM4Aula 01 PHP+MySQL - LabMM4
Aula 01 PHP+MySQL - LabMM4Carlos Santos
 
Java web 6 JSP Expression Language Taglib parte 2
Java web 6 JSP Expression Language Taglib parte 2Java web 6 JSP Expression Language Taglib parte 2
Java web 6 JSP Expression Language Taglib parte 2Eduardo Mendes
 

La actualidad más candente (20)

Java script aula 02 - operadores
Java script   aula 02 - operadoresJava script   aula 02 - operadores
Java script aula 02 - operadores
 
Sql - Comandos dml do mysql - parte 1
Sql - Comandos dml do mysql - parte 1Sql - Comandos dml do mysql - parte 1
Sql - Comandos dml do mysql - parte 1
 
[FISL 16] PHP no Campo de Batalha: Segurança Avançada e Programação Defensiva...
[FISL 16] PHP no Campo de Batalha: Segurança Avançada e Programação Defensiva...[FISL 16] PHP no Campo de Batalha: Segurança Avançada e Programação Defensiva...
[FISL 16] PHP no Campo de Batalha: Segurança Avançada e Programação Defensiva...
 
Php 03 Sessoes Cookies Cabecalhos
Php 03 Sessoes Cookies CabecalhosPhp 03 Sessoes Cookies Cabecalhos
Php 03 Sessoes Cookies Cabecalhos
 
Treinamento de SQL Básico
Treinamento de SQL BásicoTreinamento de SQL Básico
Treinamento de SQL Básico
 
Python 07
Python 07Python 07
Python 07
 
Programação Dinâmica para Web - Aula 2
Programação Dinâmica para Web - Aula 2Programação Dinâmica para Web - Aula 2
Programação Dinâmica para Web - Aula 2
 
PHP básico para iniciantes
PHP básico para iniciantesPHP básico para iniciantes
PHP básico para iniciantes
 
Desenvolvimento de um CRUD utilizando Stored Procedure
Desenvolvimento de um CRUD utilizando Stored ProcedureDesenvolvimento de um CRUD utilizando Stored Procedure
Desenvolvimento de um CRUD utilizando Stored Procedure
 
Introdução a Desenvolvimento Web
Introdução a Desenvolvimento WebIntrodução a Desenvolvimento Web
Introdução a Desenvolvimento Web
 
Sql Server Stored Procedures
Sql Server   Stored ProceduresSql Server   Stored Procedures
Sql Server Stored Procedures
 
Utilizando views, stored procedures e triggers
Utilizando views, stored procedures e triggersUtilizando views, stored procedures e triggers
Utilizando views, stored procedures e triggers
 
Php 05 Mvc
Php 05 MvcPhp 05 Mvc
Php 05 Mvc
 
Prática de laboratório utilizando views, stored procedures e triggers
Prática de laboratório   utilizando views, stored procedures e triggersPrática de laboratório   utilizando views, stored procedures e triggers
Prática de laboratório utilizando views, stored procedures e triggers
 
Solr - Indexação e Busca com ferramenta Open Source
Solr - Indexação e Busca com ferramenta Open SourceSolr - Indexação e Busca com ferramenta Open Source
Solr - Indexação e Busca com ferramenta Open Source
 
Otimização e Escalabilidade
Otimização e EscalabilidadeOtimização e Escalabilidade
Otimização e Escalabilidade
 
Aula 01 PHP+MySQL - LabMM4
Aula 01 PHP+MySQL - LabMM4Aula 01 PHP+MySQL - LabMM4
Aula 01 PHP+MySQL - LabMM4
 
Java web 6 JSP Expression Language Taglib parte 2
Java web 6 JSP Expression Language Taglib parte 2Java web 6 JSP Expression Language Taglib parte 2
Java web 6 JSP Expression Language Taglib parte 2
 
Slides
SlidesSlides
Slides
 
Java script - funções
Java script - funçõesJava script - funções
Java script - funções
 

Similar a Aula 10 - Trabalhando com Templates - Programação Web

Fundamentos de SQL - Parte 3 de 8
Fundamentos de SQL - Parte 3 de 8Fundamentos de SQL - Parte 3 de 8
Fundamentos de SQL - Parte 3 de 8Emiliano Barbosa
 
Palestra DataFlow - II São Paulo Perl Workshop
Palestra DataFlow - II São Paulo Perl WorkshopPalestra DataFlow - II São Paulo Perl Workshop
Palestra DataFlow - II São Paulo Perl WorkshopAlexei Znamensky
 
Aula 1 linguagem html (1)
Aula 1   linguagem html (1)Aula 1   linguagem html (1)
Aula 1 linguagem html (1)Kaoru Hatake
 
Cakephp - framework de desenvolvimento de aplicações Web em PHP
Cakephp - framework de desenvolvimento de aplicações Web em PHPCakephp - framework de desenvolvimento de aplicações Web em PHP
Cakephp - framework de desenvolvimento de aplicações Web em PHPArlindo Santos
 
3260 php truquesmagicos %281%29
3260 php truquesmagicos %281%293260 php truquesmagicos %281%29
3260 php truquesmagicos %281%29Juliana Nascimento
 
Desenvolvimento ágil com Kohana framework
Desenvolvimento ágil com Kohana frameworkDesenvolvimento ágil com Kohana framework
Desenvolvimento ágil com Kohana frameworkMarcelo Rodrigo
 
LPII_Aula_7-JQuery.pdf
LPII_Aula_7-JQuery.pdfLPII_Aula_7-JQuery.pdf
LPII_Aula_7-JQuery.pdfGabrielaMota46
 
Pgads42
Pgads42Pgads42
Pgads42csmp
 
Pg2
Pg2Pg2
Pg2csmp
 
Tutorial para criação de módulo no Xoops 2.4
Tutorial para criação de módulo no Xoops 2.4Tutorial para criação de módulo no Xoops 2.4
Tutorial para criação de módulo no Xoops 2.4Fabio Telles Rodriguez
 
Desenvolvimento de Sistemas Web com PHP Frameworks - Aula 3 - 2019.1
Desenvolvimento de Sistemas Web com PHP Frameworks - Aula 3 - 2019.1Desenvolvimento de Sistemas Web com PHP Frameworks - Aula 3 - 2019.1
Desenvolvimento de Sistemas Web com PHP Frameworks - Aula 3 - 2019.1Thyago Maia
 
Mini Curso PHP Twig - PHP Conference 2017
Mini Curso PHP Twig - PHP Conference 2017 Mini Curso PHP Twig - PHP Conference 2017
Mini Curso PHP Twig - PHP Conference 2017 Luis Gustavo Almeida
 
Programando para programadores: Desafios na evolução de um Framework
Programando para programadores: Desafios na evolução de um FrameworkProgramando para programadores: Desafios na evolução de um Framework
Programando para programadores: Desafios na evolução de um FrameworkPablo Dall'Oglio
 

Similar a Aula 10 - Trabalhando com Templates - Programação Web (20)

Fundamentos de SQL - Parte 3 de 8
Fundamentos de SQL - Parte 3 de 8Fundamentos de SQL - Parte 3 de 8
Fundamentos de SQL - Parte 3 de 8
 
Php aula1
Php aula1Php aula1
Php aula1
 
Palestra DataFlow - II São Paulo Perl Workshop
Palestra DataFlow - II São Paulo Perl WorkshopPalestra DataFlow - II São Paulo Perl Workshop
Palestra DataFlow - II São Paulo Perl Workshop
 
Aula 1 linguagem html (1)
Aula 1   linguagem html (1)Aula 1   linguagem html (1)
Aula 1 linguagem html (1)
 
Cakephp - framework de desenvolvimento de aplicações Web em PHP
Cakephp - framework de desenvolvimento de aplicações Web em PHPCakephp - framework de desenvolvimento de aplicações Web em PHP
Cakephp - framework de desenvolvimento de aplicações Web em PHP
 
Html5 workshop
Html5 workshopHtml5 workshop
Html5 workshop
 
3260 php truquesmagicos %281%29
3260 php truquesmagicos %281%293260 php truquesmagicos %281%29
3260 php truquesmagicos %281%29
 
3260 php truquesmagicos
3260 php truquesmagicos3260 php truquesmagicos
3260 php truquesmagicos
 
Desenvolvimento ágil com Kohana framework
Desenvolvimento ágil com Kohana frameworkDesenvolvimento ágil com Kohana framework
Desenvolvimento ágil com Kohana framework
 
LPII_Aula_7-JQuery.pdf
LPII_Aula_7-JQuery.pdfLPII_Aula_7-JQuery.pdf
LPII_Aula_7-JQuery.pdf
 
servlet-requisicoes
servlet-requisicoesservlet-requisicoes
servlet-requisicoes
 
Otimizando a performance com in memory no sql 2016
Otimizando a performance com in memory no sql 2016Otimizando a performance com in memory no sql 2016
Otimizando a performance com in memory no sql 2016
 
Pgads42
Pgads42Pgads42
Pgads42
 
Pg2
Pg2Pg2
Pg2
 
Crud
CrudCrud
Crud
 
Tutorial para criação de módulo no Xoops 2.4
Tutorial para criação de módulo no Xoops 2.4Tutorial para criação de módulo no Xoops 2.4
Tutorial para criação de módulo no Xoops 2.4
 
Desenvolvimento de Sistemas Web com PHP Frameworks - Aula 3 - 2019.1
Desenvolvimento de Sistemas Web com PHP Frameworks - Aula 3 - 2019.1Desenvolvimento de Sistemas Web com PHP Frameworks - Aula 3 - 2019.1
Desenvolvimento de Sistemas Web com PHP Frameworks - Aula 3 - 2019.1
 
Mini Curso PHP Twig - PHP Conference 2017
Mini Curso PHP Twig - PHP Conference 2017 Mini Curso PHP Twig - PHP Conference 2017
Mini Curso PHP Twig - PHP Conference 2017
 
Programando para programadores: Desafios na evolução de um Framework
Programando para programadores: Desafios na evolução de um FrameworkProgramando para programadores: Desafios na evolução de um Framework
Programando para programadores: Desafios na evolução de um Framework
 
Php 07 Cakephp
Php 07 CakephpPhp 07 Cakephp
Php 07 Cakephp
 

Más de Dalton Martins

Computação cognitiva e políticas culturais
Computação cognitiva e políticas culturaisComputação cognitiva e políticas culturais
Computação cognitiva e políticas culturaisDalton Martins
 
Humanidades digitais e ciência de dados: novos métodos, perspectivas e desaf...
Humanidades digitais e ciência de dados: novos métodos, perspectivas e desaf...Humanidades digitais e ciência de dados: novos métodos, perspectivas e desaf...
Humanidades digitais e ciência de dados: novos métodos, perspectivas e desaf...Dalton Martins
 
Cultura digital, museus e acervos em rede
Cultura digital, museus e acervos em redeCultura digital, museus e acervos em rede
Cultura digital, museus e acervos em redeDalton Martins
 
Digitalização da cultura brasileira - as motivações do projeto Tainacan
Digitalização da cultura brasileira - as motivações do projeto TainacanDigitalização da cultura brasileira - as motivações do projeto Tainacan
Digitalização da cultura brasileira - as motivações do projeto TainacanDalton Martins
 
Processos colaborativos de produção de ontologias - I Fórum Nacional de Sist...
Processos colaborativos de produção de ontologias  - I Fórum Nacional de Sist...Processos colaborativos de produção de ontologias  - I Fórum Nacional de Sist...
Processos colaborativos de produção de ontologias - I Fórum Nacional de Sist...Dalton Martins
 
Do documento às ontologias: uma visão sobre sistemas de organização do conhec...
Do documento às ontologias: uma visão sobre sistemas de organização do conhec...Do documento às ontologias: uma visão sobre sistemas de organização do conhec...
Do documento às ontologias: uma visão sobre sistemas de organização do conhec...Dalton Martins
 
Análise de Redes Sociais para educação à distância na plataforma ELGG para o ...
Análise de Redes Sociais para educação à distância na plataforma ELGG para o ...Análise de Redes Sociais para educação à distância na plataforma ELGG para o ...
Análise de Redes Sociais para educação à distância na plataforma ELGG para o ...Dalton Martins
 
Criança, mídia e consumo na formação de professores
Criança, mídia e consumo na formação de professoresCriança, mídia e consumo na formação de professores
Criança, mídia e consumo na formação de professoresDalton Martins
 
Jornalismo de Dados - Fontes de Informação para produção de Mapas Informacion...
Jornalismo de Dados - Fontes de Informação para produção de Mapas Informacion...Jornalismo de Dados - Fontes de Informação para produção de Mapas Informacion...
Jornalismo de Dados - Fontes de Informação para produção de Mapas Informacion...Dalton Martins
 
In search of a model of human dynamics analysis applied to social sciences
In search of a model of human dynamics analysis applied to social sciencesIn search of a model of human dynamics analysis applied to social sciences
In search of a model of human dynamics analysis applied to social sciencesDalton Martins
 
Novos caminhos da inclusão digital: experiências do projeto +Telecentros
Novos caminhos da inclusão digital: experiências do projeto +TelecentrosNovos caminhos da inclusão digital: experiências do projeto +Telecentros
Novos caminhos da inclusão digital: experiências do projeto +TelecentrosDalton Martins
 
Aula 01 introdução e conceitos básicos sobre gestão
Aula 01   introdução e conceitos básicos sobre gestãoAula 01   introdução e conceitos básicos sobre gestão
Aula 01 introdução e conceitos básicos sobre gestãoDalton Martins
 
Apresentação Semana de Humanização da Saúde: uma visão quantitativa
Apresentação Semana de Humanização da Saúde: uma visão quantitativaApresentação Semana de Humanização da Saúde: uma visão quantitativa
Apresentação Semana de Humanização da Saúde: uma visão quantitativaDalton Martins
 
Design da Informação - Aula 04 - Imagens que informam - design, legendas e di...
Design da Informação - Aula 04 - Imagens que informam - design, legendas e di...Design da Informação - Aula 04 - Imagens que informam - design, legendas e di...
Design da Informação - Aula 04 - Imagens que informam - design, legendas e di...Dalton Martins
 
Design da Informação - Aula 03 - Princípios do design de informação
Design da Informação - Aula 03 - Princípios do design de informaçãoDesign da Informação - Aula 03 - Princípios do design de informação
Design da Informação - Aula 03 - Princípios do design de informaçãoDalton Martins
 
Aula 04 - Tópicos em Gestão da Informação Medidas de posição relativa
Aula 04 - Tópicos em Gestão da Informação Medidas de posição relativaAula 04 - Tópicos em Gestão da Informação Medidas de posição relativa
Aula 04 - Tópicos em Gestão da Informação Medidas de posição relativaDalton Martins
 
Aula 02 - Design da Informação - História e princípios do design de informação
Aula 02 - Design da Informação - História e princípios do design de informaçãoAula 02 - Design da Informação - História e princípios do design de informação
Aula 02 - Design da Informação - História e princípios do design de informaçãoDalton Martins
 
Aula 03 - Identificando e tratando padrões
Aula 03 - Identificando e tratando padrõesAula 03 - Identificando e tratando padrões
Aula 03 - Identificando e tratando padrõesDalton Martins
 
Aula 02 - Estatística da vida cotidiana
Aula 02 - Estatística da vida cotidianaAula 02 - Estatística da vida cotidiana
Aula 02 - Estatística da vida cotidianaDalton Martins
 
Tópicos em Gestão da Informação II - Aula 01 - Desafios atuais da Gestão da I...
Tópicos em Gestão da Informação II - Aula 01 - Desafios atuais da Gestão da I...Tópicos em Gestão da Informação II - Aula 01 - Desafios atuais da Gestão da I...
Tópicos em Gestão da Informação II - Aula 01 - Desafios atuais da Gestão da I...Dalton Martins
 

Más de Dalton Martins (20)

Computação cognitiva e políticas culturais
Computação cognitiva e políticas culturaisComputação cognitiva e políticas culturais
Computação cognitiva e políticas culturais
 
Humanidades digitais e ciência de dados: novos métodos, perspectivas e desaf...
Humanidades digitais e ciência de dados: novos métodos, perspectivas e desaf...Humanidades digitais e ciência de dados: novos métodos, perspectivas e desaf...
Humanidades digitais e ciência de dados: novos métodos, perspectivas e desaf...
 
Cultura digital, museus e acervos em rede
Cultura digital, museus e acervos em redeCultura digital, museus e acervos em rede
Cultura digital, museus e acervos em rede
 
Digitalização da cultura brasileira - as motivações do projeto Tainacan
Digitalização da cultura brasileira - as motivações do projeto TainacanDigitalização da cultura brasileira - as motivações do projeto Tainacan
Digitalização da cultura brasileira - as motivações do projeto Tainacan
 
Processos colaborativos de produção de ontologias - I Fórum Nacional de Sist...
Processos colaborativos de produção de ontologias  - I Fórum Nacional de Sist...Processos colaborativos de produção de ontologias  - I Fórum Nacional de Sist...
Processos colaborativos de produção de ontologias - I Fórum Nacional de Sist...
 
Do documento às ontologias: uma visão sobre sistemas de organização do conhec...
Do documento às ontologias: uma visão sobre sistemas de organização do conhec...Do documento às ontologias: uma visão sobre sistemas de organização do conhec...
Do documento às ontologias: uma visão sobre sistemas de organização do conhec...
 
Análise de Redes Sociais para educação à distância na plataforma ELGG para o ...
Análise de Redes Sociais para educação à distância na plataforma ELGG para o ...Análise de Redes Sociais para educação à distância na plataforma ELGG para o ...
Análise de Redes Sociais para educação à distância na plataforma ELGG para o ...
 
Criança, mídia e consumo na formação de professores
Criança, mídia e consumo na formação de professoresCriança, mídia e consumo na formação de professores
Criança, mídia e consumo na formação de professores
 
Jornalismo de Dados - Fontes de Informação para produção de Mapas Informacion...
Jornalismo de Dados - Fontes de Informação para produção de Mapas Informacion...Jornalismo de Dados - Fontes de Informação para produção de Mapas Informacion...
Jornalismo de Dados - Fontes de Informação para produção de Mapas Informacion...
 
In search of a model of human dynamics analysis applied to social sciences
In search of a model of human dynamics analysis applied to social sciencesIn search of a model of human dynamics analysis applied to social sciences
In search of a model of human dynamics analysis applied to social sciences
 
Novos caminhos da inclusão digital: experiências do projeto +Telecentros
Novos caminhos da inclusão digital: experiências do projeto +TelecentrosNovos caminhos da inclusão digital: experiências do projeto +Telecentros
Novos caminhos da inclusão digital: experiências do projeto +Telecentros
 
Aula 01 introdução e conceitos básicos sobre gestão
Aula 01   introdução e conceitos básicos sobre gestãoAula 01   introdução e conceitos básicos sobre gestão
Aula 01 introdução e conceitos básicos sobre gestão
 
Apresentação Semana de Humanização da Saúde: uma visão quantitativa
Apresentação Semana de Humanização da Saúde: uma visão quantitativaApresentação Semana de Humanização da Saúde: uma visão quantitativa
Apresentação Semana de Humanização da Saúde: uma visão quantitativa
 
Design da Informação - Aula 04 - Imagens que informam - design, legendas e di...
Design da Informação - Aula 04 - Imagens que informam - design, legendas e di...Design da Informação - Aula 04 - Imagens que informam - design, legendas e di...
Design da Informação - Aula 04 - Imagens que informam - design, legendas e di...
 
Design da Informação - Aula 03 - Princípios do design de informação
Design da Informação - Aula 03 - Princípios do design de informaçãoDesign da Informação - Aula 03 - Princípios do design de informação
Design da Informação - Aula 03 - Princípios do design de informação
 
Aula 04 - Tópicos em Gestão da Informação Medidas de posição relativa
Aula 04 - Tópicos em Gestão da Informação Medidas de posição relativaAula 04 - Tópicos em Gestão da Informação Medidas de posição relativa
Aula 04 - Tópicos em Gestão da Informação Medidas de posição relativa
 
Aula 02 - Design da Informação - História e princípios do design de informação
Aula 02 - Design da Informação - História e princípios do design de informaçãoAula 02 - Design da Informação - História e princípios do design de informação
Aula 02 - Design da Informação - História e princípios do design de informação
 
Aula 03 - Identificando e tratando padrões
Aula 03 - Identificando e tratando padrõesAula 03 - Identificando e tratando padrões
Aula 03 - Identificando e tratando padrões
 
Aula 02 - Estatística da vida cotidiana
Aula 02 - Estatística da vida cotidianaAula 02 - Estatística da vida cotidiana
Aula 02 - Estatística da vida cotidiana
 
Tópicos em Gestão da Informação II - Aula 01 - Desafios atuais da Gestão da I...
Tópicos em Gestão da Informação II - Aula 01 - Desafios atuais da Gestão da I...Tópicos em Gestão da Informação II - Aula 01 - Desafios atuais da Gestão da I...
Tópicos em Gestão da Informação II - Aula 01 - Desafios atuais da Gestão da I...
 

Último

Termo de audiência de Mauro Cid na ìntegra
Termo de audiência de Mauro Cid na ìntegraTermo de audiência de Mauro Cid na ìntegra
Termo de audiência de Mauro Cid na ìntegrafernando846621
 
Verbos - transitivos e intransitivos.pdf
Verbos -  transitivos e intransitivos.pdfVerbos -  transitivos e intransitivos.pdf
Verbos - transitivos e intransitivos.pdfKarinaSouzaCorreiaAl
 
Poder do convencimento,........... .
Poder do convencimento,...........         .Poder do convencimento,...........         .
Poder do convencimento,........... .WAGNERJESUSDACUNHA
 
Aula 6 - O Imperialismo e seu discurso civilizatório.pptx
Aula 6 - O Imperialismo e seu discurso civilizatório.pptxAula 6 - O Imperialismo e seu discurso civilizatório.pptx
Aula 6 - O Imperialismo e seu discurso civilizatório.pptxMarceloDosSantosSoar3
 
PROJETO DE EXTENSÃO - SEGURANÇA, INOVAÇÃO E SUSTENTABILIDADE PARA O BEM COMUM...
PROJETO DE EXTENSÃO - SEGURANÇA, INOVAÇÃO E SUSTENTABILIDADE PARA O BEM COMUM...PROJETO DE EXTENSÃO - SEGURANÇA, INOVAÇÃO E SUSTENTABILIDADE PARA O BEM COMUM...
PROJETO DE EXTENSÃO - SEGURANÇA, INOVAÇÃO E SUSTENTABILIDADE PARA O BEM COMUM...Colaborar Educacional
 
Slides Lição 1, CPAD, O Início da Caminhada, 2Tr24, Pr Henrique.pptx
Slides Lição 1, CPAD, O Início da Caminhada, 2Tr24, Pr Henrique.pptxSlides Lição 1, CPAD, O Início da Caminhada, 2Tr24, Pr Henrique.pptx
Slides Lição 1, CPAD, O Início da Caminhada, 2Tr24, Pr Henrique.pptxLuizHenriquedeAlmeid6
 
A Congregação de Jesus e Maria, conhecida também como os Eudistas, foi fundad...
A Congregação de Jesus e Maria, conhecida também como os Eudistas, foi fundad...A Congregação de Jesus e Maria, conhecida também como os Eudistas, foi fundad...
A Congregação de Jesus e Maria, conhecida também como os Eudistas, foi fundad...Unidad de Espiritualidad Eudista
 
SEMIOSES DO OLHAR - SLIDE PARA ESTUDO 123
SEMIOSES DO OLHAR - SLIDE PARA ESTUDO 123SEMIOSES DO OLHAR - SLIDE PARA ESTUDO 123
SEMIOSES DO OLHAR - SLIDE PARA ESTUDO 123JaineCarolaineLima
 
1. CIENCIAS-HUMANAS-GLOBALIZAÇÃO, TEMPO E ESPAÇO-V1.pdf
1. CIENCIAS-HUMANAS-GLOBALIZAÇÃO, TEMPO E ESPAÇO-V1.pdf1. CIENCIAS-HUMANAS-GLOBALIZAÇÃO, TEMPO E ESPAÇO-V1.pdf
1. CIENCIAS-HUMANAS-GLOBALIZAÇÃO, TEMPO E ESPAÇO-V1.pdfRitoneltonSouzaSanto
 
QUIZ - GEOGRAFIA - 8º ANO - FASES DO CAPITALISMO.pptx
QUIZ - GEOGRAFIA - 8º ANO - FASES DO CAPITALISMO.pptxQUIZ - GEOGRAFIA - 8º ANO - FASES DO CAPITALISMO.pptx
QUIZ - GEOGRAFIA - 8º ANO - FASES DO CAPITALISMO.pptxAntonioVieira539017
 
A CONCEPÇÃO FILO/SOCIOLÓGICA DE KARL MARX
A CONCEPÇÃO FILO/SOCIOLÓGICA DE KARL MARXA CONCEPÇÃO FILO/SOCIOLÓGICA DE KARL MARX
A CONCEPÇÃO FILO/SOCIOLÓGICA DE KARL MARXHisrelBlog
 
O-P-mais-importante.pptx de Maria Jesus Sousa
O-P-mais-importante.pptx de Maria Jesus SousaO-P-mais-importante.pptx de Maria Jesus Sousa
O-P-mais-importante.pptx de Maria Jesus SousaTeresaCosta92
 
arte retrato de um povo - Expressão Cultural e Identidade Nacional
arte retrato de um povo - Expressão Cultural e Identidade Nacionalarte retrato de um povo - Expressão Cultural e Identidade Nacional
arte retrato de um povo - Expressão Cultural e Identidade Nacionalidicacia
 
Caça palavras - BULLYING
Caça palavras  -  BULLYING  Caça palavras  -  BULLYING
Caça palavras - BULLYING Mary Alvarenga
 
Apresente de forma sucinta as atividades realizadas ao longo do semestre, con...
Apresente de forma sucinta as atividades realizadas ao longo do semestre, con...Apresente de forma sucinta as atividades realizadas ao longo do semestre, con...
Apresente de forma sucinta as atividades realizadas ao longo do semestre, con...Colaborar Educacional
 
Atividade de matemática para simulado de 2024
Atividade de matemática para simulado de 2024Atividade de matemática para simulado de 2024
Atividade de matemática para simulado de 2024gilmaraoliveira0612
 
FORMAÇÃO POVO BRASILEIRO atividade de história
FORMAÇÃO POVO BRASILEIRO atividade de históriaFORMAÇÃO POVO BRASILEIRO atividade de história
FORMAÇÃO POVO BRASILEIRO atividade de históriaBenigno Andrade Vieira
 
aula 1.pptx Ementa e Plano de ensino Filosofia
aula 1.pptx Ementa e  Plano de ensino Filosofiaaula 1.pptx Ementa e  Plano de ensino Filosofia
aula 1.pptx Ementa e Plano de ensino FilosofiaLucliaResende1
 

Último (20)

Termo de audiência de Mauro Cid na ìntegra
Termo de audiência de Mauro Cid na ìntegraTermo de audiência de Mauro Cid na ìntegra
Termo de audiência de Mauro Cid na ìntegra
 
Verbos - transitivos e intransitivos.pdf
Verbos -  transitivos e intransitivos.pdfVerbos -  transitivos e intransitivos.pdf
Verbos - transitivos e intransitivos.pdf
 
Poder do convencimento,........... .
Poder do convencimento,...........         .Poder do convencimento,...........         .
Poder do convencimento,........... .
 
Aula 6 - O Imperialismo e seu discurso civilizatório.pptx
Aula 6 - O Imperialismo e seu discurso civilizatório.pptxAula 6 - O Imperialismo e seu discurso civilizatório.pptx
Aula 6 - O Imperialismo e seu discurso civilizatório.pptx
 
PROJETO DE EXTENSÃO - SEGURANÇA, INOVAÇÃO E SUSTENTABILIDADE PARA O BEM COMUM...
PROJETO DE EXTENSÃO - SEGURANÇA, INOVAÇÃO E SUSTENTABILIDADE PARA O BEM COMUM...PROJETO DE EXTENSÃO - SEGURANÇA, INOVAÇÃO E SUSTENTABILIDADE PARA O BEM COMUM...
PROJETO DE EXTENSÃO - SEGURANÇA, INOVAÇÃO E SUSTENTABILIDADE PARA O BEM COMUM...
 
Slides Lição 1, CPAD, O Início da Caminhada, 2Tr24, Pr Henrique.pptx
Slides Lição 1, CPAD, O Início da Caminhada, 2Tr24, Pr Henrique.pptxSlides Lição 1, CPAD, O Início da Caminhada, 2Tr24, Pr Henrique.pptx
Slides Lição 1, CPAD, O Início da Caminhada, 2Tr24, Pr Henrique.pptx
 
A Congregação de Jesus e Maria, conhecida também como os Eudistas, foi fundad...
A Congregação de Jesus e Maria, conhecida também como os Eudistas, foi fundad...A Congregação de Jesus e Maria, conhecida também como os Eudistas, foi fundad...
A Congregação de Jesus e Maria, conhecida também como os Eudistas, foi fundad...
 
SEMIOSES DO OLHAR - SLIDE PARA ESTUDO 123
SEMIOSES DO OLHAR - SLIDE PARA ESTUDO 123SEMIOSES DO OLHAR - SLIDE PARA ESTUDO 123
SEMIOSES DO OLHAR - SLIDE PARA ESTUDO 123
 
(42-ESTUDO - LUCAS) DISCIPULO DE JESUS
(42-ESTUDO - LUCAS)  DISCIPULO  DE JESUS(42-ESTUDO - LUCAS)  DISCIPULO  DE JESUS
(42-ESTUDO - LUCAS) DISCIPULO DE JESUS
 
1. CIENCIAS-HUMANAS-GLOBALIZAÇÃO, TEMPO E ESPAÇO-V1.pdf
1. CIENCIAS-HUMANAS-GLOBALIZAÇÃO, TEMPO E ESPAÇO-V1.pdf1. CIENCIAS-HUMANAS-GLOBALIZAÇÃO, TEMPO E ESPAÇO-V1.pdf
1. CIENCIAS-HUMANAS-GLOBALIZAÇÃO, TEMPO E ESPAÇO-V1.pdf
 
QUIZ - GEOGRAFIA - 8º ANO - FASES DO CAPITALISMO.pptx
QUIZ - GEOGRAFIA - 8º ANO - FASES DO CAPITALISMO.pptxQUIZ - GEOGRAFIA - 8º ANO - FASES DO CAPITALISMO.pptx
QUIZ - GEOGRAFIA - 8º ANO - FASES DO CAPITALISMO.pptx
 
A CONCEPÇÃO FILO/SOCIOLÓGICA DE KARL MARX
A CONCEPÇÃO FILO/SOCIOLÓGICA DE KARL MARXA CONCEPÇÃO FILO/SOCIOLÓGICA DE KARL MARX
A CONCEPÇÃO FILO/SOCIOLÓGICA DE KARL MARX
 
Abordagem 2. Análise temática (Severino, 2013)_PdfToPowerPoint.pdf
Abordagem 2. Análise temática (Severino, 2013)_PdfToPowerPoint.pdfAbordagem 2. Análise temática (Severino, 2013)_PdfToPowerPoint.pdf
Abordagem 2. Análise temática (Severino, 2013)_PdfToPowerPoint.pdf
 
O-P-mais-importante.pptx de Maria Jesus Sousa
O-P-mais-importante.pptx de Maria Jesus SousaO-P-mais-importante.pptx de Maria Jesus Sousa
O-P-mais-importante.pptx de Maria Jesus Sousa
 
arte retrato de um povo - Expressão Cultural e Identidade Nacional
arte retrato de um povo - Expressão Cultural e Identidade Nacionalarte retrato de um povo - Expressão Cultural e Identidade Nacional
arte retrato de um povo - Expressão Cultural e Identidade Nacional
 
Caça palavras - BULLYING
Caça palavras  -  BULLYING  Caça palavras  -  BULLYING
Caça palavras - BULLYING
 
Apresente de forma sucinta as atividades realizadas ao longo do semestre, con...
Apresente de forma sucinta as atividades realizadas ao longo do semestre, con...Apresente de forma sucinta as atividades realizadas ao longo do semestre, con...
Apresente de forma sucinta as atividades realizadas ao longo do semestre, con...
 
Atividade de matemática para simulado de 2024
Atividade de matemática para simulado de 2024Atividade de matemática para simulado de 2024
Atividade de matemática para simulado de 2024
 
FORMAÇÃO POVO BRASILEIRO atividade de história
FORMAÇÃO POVO BRASILEIRO atividade de históriaFORMAÇÃO POVO BRASILEIRO atividade de história
FORMAÇÃO POVO BRASILEIRO atividade de história
 
aula 1.pptx Ementa e Plano de ensino Filosofia
aula 1.pptx Ementa e  Plano de ensino Filosofiaaula 1.pptx Ementa e  Plano de ensino Filosofia
aula 1.pptx Ementa e Plano de ensino Filosofia
 

Aula 10 - Trabalhando com Templates - Programação Web

  • 1. Programação Web Fatec Ipiranga Análise e Desenvolvimento de Sistemas Aula 10 – Trabalhando com Templates Dalton Martins dmartins@gmail.com São Paulo, Novembro, 2011 Aula baseada no tutorial: http://raelcunha.com/template.php
  • 2. Para que servem os Templates? Boas práticas de programação presumem que tenhamos nosso sistemas organizado em 3 camadas: – Camada de interface: o que é utilizado pelo usuário no acesso ao sistema; – Camada de lógica: onde fica a lógica do sistema, fluxos de informação, processos, cálculos, etc, – Camada de persistência de dados: onde são guardados os dados – Banco de Dados. Os templates servem para separar camada de interface e lógica!
  • 3. Para que servem os Templates? Na prática, teremos: – Arquivos HTML: contém toda a interface de relação com o usuário, objetos de interface, configuração visual, cores, fontes, blocos, menus, etc... – Arquivos PHP: irão incorporar os arquivos HTML, podendo configurar determinadas partes de sua exibição conforme suas necessidades expecíficas.
  • 4. Biblioteca de Template O PHP possui várias bibliotecas de templates para apoiar esse tipo de desenvolvimento. – Exemplos: smarty, phptemplate, zend, etc... No entanto, muitas são complexas e difíceis de utilizar, demandando tempo de estudo; Iremos utilizar uma biblioteca das mais simples, que no entanto atende aos requisitos para separação do sistema em camadas: – Baixar o arquivo e instalar no diretório do programa; – http://raelcunha.com/packages/extra/template/files/Templ ate_pt-br.zip
  • 5. Começando... Vamos gerar inicialmente dois arquivos: – Ola.php – Ola.html <?php <html> <body> require("Template.class.php"); Olá Mundo, com templates PHP! $tpl = new Template("ola.html"); </body> $tpl->show(); </html> ?>
  • 6. Configurando variáveis <?php <html> <body> require("Template.class.php"); Olá {FULANO}, com templates PHP! $tpl = new Template("ola.html"); $tpl->FULANO = "TESTE"; </body> $tpl->show(); </html> ?>
  • 7. Checando se variáveis existem <?php require("Template.class.php"); $tpl = new Template("layout.html"); // Checando existência da variável antes da atribuição if($tpl->exists("FULANO")) $tpl->FULANO = "TESTE"; $tpl->show(); ?>
  • 8. Trabalhando com blocos <html> <body> <p>Quantidade de produtos cadastrados no sistema:</p> <!-- BEGIN BLOCK_QUANTIDADE --> <div class="destaque">Existem {QUANTIDADE} produtos cadastrados.</div> <!-- END BLOCK_QUANTIDADE --> <!-- BEGIN BLOCK_VAZIO --> <div class="vazio">Não existe nenhum produto cadastrado.</div> <!-- END BLOCK_VAZIO --> </body> </html>
  • 9. Trabalhando com blocos <?php require("Template.class.php"); $tpl = new Template("hello.html"); // Vamos supor que esta quantidade veio do banco de dados $quantidade = 5; // Se existem produtos cadastrados, vamos exibir a quantidade if($quantidade > 0){ $tpl->QUANTIDADE = $quantidade; $tpl->block("BLOCK_QUANTIDADE"); } // Caso não exista nenhum produto, exibimos a mensagem de vazio else { $tpl->block("BLOCK_VAZIO"); } $tpl->show(); ?>
  • 10. Trabalhando com blocos e tabelas <html> <body> <p>Produtos cadastrados no sistema:</p> <table border=1> <tr><td>Nome</td><td>Quantidade</td></tr> <!-- BEGIN BLOCK_PRODUTO --> <tr> <td> {NOME} </td> <td> {QUANTIDADE} </td> </tr> <!-- END BLOCK_PRODUTO --> </table> </body> </html>
  • 11. Trabalhando com blocos e tabelas <?php require("Template.class.php"); $tpl = new Template("hello.html"); // Simulando produtos cadastrados no banco de dados $produtos = array( array("nome" => "Sabão em Pó", "quantidade" => 15), array("nome" => "Escova de Dente", "quantidade" => 53), array("nome" => "Creme Dental", "quantidade" => 37) ); // Listando os produtos foreach($produtos as $p){ $tpl->NOME = $p["nome"]; $tpl->QUANTIDADE = $p["quantidade"]; $tpl->block("BLOCK_PRODUTO"); } $tpl->show(); ?>
  • 12. Trabalhando com layouts <html> <body> <div id="layout" style="width:500px"> <div id="cabecalho" style="background-color:#FFA500;"> <h1 style="margin-bottom:0;">{TITULO}</h1></div> <div id="menu" style="background-color:#FFD700;height:400px;width:100px;float:left;"> <b>Menu</b><br /> <a href="{LINK1}">{OPCAO1}</a><br /> <a href="{LINK2}">{OPCAO2}</a><br /> {OPCAO3}</div> <div id="conteudo" style="background-color:#EEEEEE;height:400px;width:400px;float:left;"> <form action="exemplosimples.php" method="post"> <fieldset> <br> <legend>Informacoes pessoais:</legend> Nome: <input type="text" name="nome" size="30" /><br /> email: <input type="text" name="email" size="30" /><br /> Data de nascimento: <input name="data" type="text" size="10" /><br> <textarea rows="10" cols="30" name="areatexto"> Informacoes extras: </textarea> <br> <input type="submit" name = "enviar" value="Enviar" /> </fieldset> </form> </div> <div id="footer" style="background-color:#FFA500;clear:both;text-align:center;"> Copyleft FATEC Ipiranga</div> </div> </body> </html>
  • 13. Trabalhando com layouts <?php require("Template.class.php"); $tpl = new Template("layout.html"); $tpl->TITULO = "fatec ipiranga"; $tpl->OPCAO1 = "OPCAO MENU 1"; $tpl->LINK1 = "http://www.facebook.com"; $tpl->OPCAO2 = "OPCAO MENU 2"; $tpl->LINK2 = "http://www.google.com.br"; $tpl->show(); ?>