SlideShare uma empresa Scribd logo
1 de 18
Baixar para ler offline
Tecnologias server-side: PHP
Carlos Santos
LabMM 4 - NTC - DeCA - UA
Aula 10, 21-03-2013
Um pouco de história

1995

  • Rasmus Lerdorf desenvolve Scripts CGI em Perl (contador de
    visitantes da sua página)
  • oferece esses script sob o nome – Personal Home Page

1997

  • PHP 2.0 (Personal Home Page/Form Interpreter) - utiliza linguagem C
  • popularidade cresce exponencialmente
  • desenvolve-se uma comunidade de programadores/utilizadores

1998

  • PHP 3.0, em 1999 tem já mais de 1 milhão de utilizadores
  • Andi Gutmans, Zeev Suraski
Um pouco de história

2000

  • PHP 4.0 passa a significar PHP: Hypertext Preprocessor
  • motor/parser reescrito -> Zend Engine
  • introduz: gestão recursos, OOP e gestão de sessões

2004
  • PHP 5.0 (versão atual é a 5.4.##)
  • maior suporte a OOP com desenvolvimento de frameworks (Zend)
  • suporte a XML, Web Services, …
  • utilizada em mais de 20 milhões de web sites…

20??
  • PHP 6.0, ainda em desenvolvimento…
Arquitetura

funciona numa plataforma Web

      • Exemplo: Apache Web Server + Módulo PHP

permite o desenvolvimento de aplicações Web numa
arquitetura de 3 camadas
Apresentação
• HTML,	
  CSS,	
  Javascript,	
  AJAX,	
  …

Lógica
• PHP

Dados
• MySQL




a linguagem PHP é processada no servidor (server-side)

está normalmente embebida em páginas HTML e gera HTML!
Caraterísticas

simples de usar, generalidade das funções está disponível por defeito

poderosa, centenas de livrarias disponíveis (acesso facilitado a funções)

flexível, permite a livre escolha das soluções para a implementação das
aplicações Web (por exemplo: escolher livremente o SGBDR a utilizar)

gratuita

desenvolvida colaborativamente, maior evolução
Funcionamento

todo o PHP (embebido no HTML) é processado no servidor




para o browser (client-side) será enviada uma página apenas com HTML
 <body>
    <p>Hello World</p>
 </body>
Páginas estáticas

uma página estática é uma página cujo conteúdo e aspeto foram
determinados pelo seu autor.
  • o conteúdo e o aspeto são constantes independentemente de quem visita
    a página, quando a visita ou como a visita
  • alterações numa página estática só podem ser efectuadas através da
    edição do código
  • exemplo: uma página HTML que se encontra publicada num servidor Web
Páginas dinâmicas

uma página dinâmica para a Web é uma página cujo conteúdo e aspeto
não são totalmente determinados no seu estado inicial (isto é, quando foi
publicada pelo seu autor)

  • os conteúdos e aspeto são determinados após um utilizador executar um
    pedido da mesma, ao servidor Web, através de um browser
  • os conteúdos e aspeto da página podem variar de pedido para pedido
  • exemplo: página HTML com PHP embebido

no momento em que existe um pedido de acesso à página, o PHP
embebido é executado no servidor para gerar a página final
Páginas dinâmicas

existem dois tipos de tecnologias dinâmicas:

  • server-side (executado no servidor)
     • PHP
     • .Net (ASP)
     • JSP
     • Perl
     • ...
  • client-side (executado no browser)
     • JavaScript
     • DART
     • Flash
     • ...
Como saber o que temos disponível no servidor?

para ver a configuração do PHP atualmente instalada num qualquer
servidor Web

<?php phpinfo(); ?>




mostra módulos extras ativos no PHP

o PHP no Apache é configurado através do ficheiro php.ini
estrutura e sintaxe

sintaxe a utilizar


   <body>
!   ! <?php echo "Hello World"; ?>
!   </body>



separação das instruções “;”


   <body>
!   ! <?php
!   !     echo "Hello World";
!   !     echo “Peace and Love!!!!“;
!   ! ?>
    </body>
estrutura e sintaxe

múltiplos blocos de código PHP numa página HTML


     <body>
    ! ! <?php echo "Hello World"; ?>

!    !   <p> Outro HTML</p>

!     ! <?php echo “Peace and Love"; ?>
!    </body>
Comentários

comentários

    <?php
       // Este é um comentário
       // Este é outro comentário
       echo "Hello World";

         /* Este é outro comentário
            que ocupa mais do que uma linha */
         echo "Olá Mundo";
    ?>


comentários no estilo shell unix


    <?php
!    !   # Este é um comentário
!    !   # Este é outro comentário
!    !   echo "Hello World";
!    ?>
case sensitive?

Case sensitive (both user defined and PHP defined)

  • variables
  • constants
  • array keys
  • class properties
  • class constants

Case insensitive (both user defined and PHP defined)

  • functions
  • class constructors
  • class methods
  • keywords and constructs (if, else, null, foreach, echo etc.)

                                        http://the-echoplex.net/log/php-case-sensitivity
Output

<?php print("<p>Hello World</p>"); ?>



<?php print("<p>Hello World. I’m $name.</p>"); ?>



<?php echo "<p>Hello World. I’m $name.</p>"; ?>
Output

<?php printf(“Bar: %d garrafas.”, $bottles); ?>
  • identificador de tipo/formato da variável -> %d (inteiro)
  • mistura/formata a parte dinâmica e parte estática da string



<?php $MeuTexto = sprintf(“Preço: %.2f.”, $Price); ?>
  • igual ao printf mas devolve resultado para uma variável do tipo string
Output

<?php printf(“Bar: %d garrafas.”, $bottles); ?>


   
   Se $bottles = 6.113 -> “Bar: 6 garrafas.”



<?php $MeuTexto = sprintf(“Preço: %.2f.”, $Price); ?>


   
   Se $Price = 25.9183 -> $MeuTexto = “Preço: 25.92.”
printf e sprintf

especificação do tipo de dados para a formatação:

  • %b -> número binário
  • %c -> caracter correspondente ao código ASCII
  • %d -> número inteiro com sinal
  • %f ->número em vírgula flutuante
  • %o -> número em octal
  • %s -> string
  • %u -> número inteiro sem sinal
  • %x -> número hexadecimal em minúsculas
  • %X -> número hexadecimal em maiúsculas

Mais conteúdo relacionado

Mais procurados

5 – Desenvolvimento de Páginas Web Dinâmicas PHP: introdução
5 – Desenvolvimento de Páginas Web Dinâmicas PHP: introdução5 – Desenvolvimento de Páginas Web Dinâmicas PHP: introdução
5 – Desenvolvimento de Páginas Web Dinâmicas PHP: introduçãoAgrupamento de Escolas da Batalha
 
Desenvolvimento web ágil com python e web2py
Desenvolvimento web ágil com python e web2pyDesenvolvimento web ágil com python e web2py
Desenvolvimento web ágil com python e web2pyRelsi Maron
 
Curso Desenvolvimento WEB com PHP - PHP (parte 1)
Curso Desenvolvimento WEB com PHP - PHP (parte 1)Curso Desenvolvimento WEB com PHP - PHP (parte 1)
Curso Desenvolvimento WEB com PHP - PHP (parte 1)Willian Magalhães
 
performance em jQuery apps
performance em jQuery appsperformance em jQuery apps
performance em jQuery appsDavidson Fellipe
 
Beyond Ruby with NodeJS - RubyConf Brasil 2010
Beyond Ruby with NodeJS - RubyConf Brasil 2010Beyond Ruby with NodeJS - RubyConf Brasil 2010
Beyond Ruby with NodeJS - RubyConf Brasil 2010Emerson Macedo
 
Phpreact flisol-fb-2014
Phpreact flisol-fb-2014Phpreact flisol-fb-2014
Phpreact flisol-fb-2014Adler Medrado
 
Palestra Desenvolvimento Ágil para Web com ROR UVA
Palestra Desenvolvimento Ágil para Web com ROR UVAPalestra Desenvolvimento Ágil para Web com ROR UVA
Palestra Desenvolvimento Ágil para Web com ROR UVAThiago Cifani
 
Php Visao Geral Svs
Php Visao Geral SvsPhp Visao Geral Svs
Php Visao Geral Svscristhianobv
 
Quando o planejamento da infraestrutura leva ao sucesso
Quando o planejamento da infraestrutura leva ao sucessoQuando o planejamento da infraestrutura leva ao sucesso
Quando o planejamento da infraestrutura leva ao sucessoIvan Rosolen
 
O que é esse tal de rest? [PyBR2016]
O que é esse tal de rest? [PyBR2016]O que é esse tal de rest? [PyBR2016]
O que é esse tal de rest? [PyBR2016]Filipe Ximenes
 
Curso de PHP Básico ao Avançado
Curso de PHP Básico ao AvançadoCurso de PHP Básico ao Avançado
Curso de PHP Básico ao AvançadoLuiz Junior
 
PHP na Tela Escura: Aplicações Poderosas em Linha de Comando
PHP na Tela Escura: Aplicações Poderosas em Linha de ComandoPHP na Tela Escura: Aplicações Poderosas em Linha de Comando
PHP na Tela Escura: Aplicações Poderosas em Linha de ComandoRafael Jaques
 
PHP para aplicações Web de grande porte
PHP para aplicações Web  de grande portePHP para aplicações Web  de grande porte
PHP para aplicações Web de grande porteFelipe Ribeiro
 
Conhecendo o Novo REST Framework
Conhecendo o Novo REST FrameworkConhecendo o Novo REST Framework
Conhecendo o Novo REST FrameworkMario Guedes
 
PHP: Linguagem + Mysql + MVC + AJAX
PHP: Linguagem + Mysql + MVC + AJAX PHP: Linguagem + Mysql + MVC + AJAX
PHP: Linguagem + Mysql + MVC + AJAX Sérgio Souza Costa
 
Filosofia Ruby e Rails (UFOP e Inforuso 2010)
Filosofia Ruby e Rails (UFOP e Inforuso 2010)Filosofia Ruby e Rails (UFOP e Inforuso 2010)
Filosofia Ruby e Rails (UFOP e Inforuso 2010)Daniel Lopes
 

Mais procurados (20)

5 – Desenvolvimento de Páginas Web Dinâmicas PHP: introdução
5 – Desenvolvimento de Páginas Web Dinâmicas PHP: introdução5 – Desenvolvimento de Páginas Web Dinâmicas PHP: introdução
5 – Desenvolvimento de Páginas Web Dinâmicas PHP: introdução
 
Arquitetura API em NodeJS
Arquitetura API em NodeJSArquitetura API em NodeJS
Arquitetura API em NodeJS
 
Desenvolvimento web ágil com python e web2py
Desenvolvimento web ágil com python e web2pyDesenvolvimento web ágil com python e web2py
Desenvolvimento web ágil com python e web2py
 
Curso Desenvolvimento WEB com PHP - PHP (parte 1)
Curso Desenvolvimento WEB com PHP - PHP (parte 1)Curso Desenvolvimento WEB com PHP - PHP (parte 1)
Curso Desenvolvimento WEB com PHP - PHP (parte 1)
 
Páginas dinâmicas
Páginas dinâmicasPáginas dinâmicas
Páginas dinâmicas
 
performance em jQuery apps
performance em jQuery appsperformance em jQuery apps
performance em jQuery apps
 
Beyond Ruby with NodeJS - RubyConf Brasil 2010
Beyond Ruby with NodeJS - RubyConf Brasil 2010Beyond Ruby with NodeJS - RubyConf Brasil 2010
Beyond Ruby with NodeJS - RubyConf Brasil 2010
 
Phpreact flisol-fb-2014
Phpreact flisol-fb-2014Phpreact flisol-fb-2014
Phpreact flisol-fb-2014
 
Principais Tecnologias WEB
Principais Tecnologias WEBPrincipais Tecnologias WEB
Principais Tecnologias WEB
 
Palestra Desenvolvimento Ágil para Web com ROR UVA
Palestra Desenvolvimento Ágil para Web com ROR UVAPalestra Desenvolvimento Ágil para Web com ROR UVA
Palestra Desenvolvimento Ágil para Web com ROR UVA
 
Php Visao Geral Svs
Php Visao Geral SvsPhp Visao Geral Svs
Php Visao Geral Svs
 
Node.js for Noobs
Node.js for NoobsNode.js for Noobs
Node.js for Noobs
 
Quando o planejamento da infraestrutura leva ao sucesso
Quando o planejamento da infraestrutura leva ao sucessoQuando o planejamento da infraestrutura leva ao sucesso
Quando o planejamento da infraestrutura leva ao sucesso
 
O que é esse tal de rest? [PyBR2016]
O que é esse tal de rest? [PyBR2016]O que é esse tal de rest? [PyBR2016]
O que é esse tal de rest? [PyBR2016]
 
Curso de PHP Básico ao Avançado
Curso de PHP Básico ao AvançadoCurso de PHP Básico ao Avançado
Curso de PHP Básico ao Avançado
 
PHP na Tela Escura: Aplicações Poderosas em Linha de Comando
PHP na Tela Escura: Aplicações Poderosas em Linha de ComandoPHP na Tela Escura: Aplicações Poderosas em Linha de Comando
PHP na Tela Escura: Aplicações Poderosas em Linha de Comando
 
PHP para aplicações Web de grande porte
PHP para aplicações Web  de grande portePHP para aplicações Web  de grande porte
PHP para aplicações Web de grande porte
 
Conhecendo o Novo REST Framework
Conhecendo o Novo REST FrameworkConhecendo o Novo REST Framework
Conhecendo o Novo REST Framework
 
PHP: Linguagem + Mysql + MVC + AJAX
PHP: Linguagem + Mysql + MVC + AJAX PHP: Linguagem + Mysql + MVC + AJAX
PHP: Linguagem + Mysql + MVC + AJAX
 
Filosofia Ruby e Rails (UFOP e Inforuso 2010)
Filosofia Ruby e Rails (UFOP e Inforuso 2010)Filosofia Ruby e Rails (UFOP e Inforuso 2010)
Filosofia Ruby e Rails (UFOP e Inforuso 2010)
 

Semelhante a LabMM4 (T10 - 12/13) - Tecnologias server-side - PHP

Semelhante a LabMM4 (T10 - 12/13) - Tecnologias server-side - PHP (20)

Curso de php do básico ao avançado
Curso de php do básico ao avançadoCurso de php do básico ao avançado
Curso de php do básico ao avançado
 
PHP 5.3 - Introdução
PHP 5.3 - IntroduçãoPHP 5.3 - Introdução
PHP 5.3 - Introdução
 
Aula 02 - Introdução ao PHP
Aula 02 - Introdução ao PHPAula 02 - Introdução ao PHP
Aula 02 - Introdução ao PHP
 
4. Introdução ao PHP.pdf
4. Introdução ao PHP.pdf4. Introdução ao PHP.pdf
4. Introdução ao PHP.pdf
 
Desenvolvimento de Software I - USBWEBSERVER - PHP
Desenvolvimento de Software I - USBWEBSERVER - PHPDesenvolvimento de Software I - USBWEBSERVER - PHP
Desenvolvimento de Software I - USBWEBSERVER - PHP
 
Pho Aula 02
Pho Aula 02Pho Aula 02
Pho Aula 02
 
Comandos gerais do PHP
Comandos gerais do PHPComandos gerais do PHP
Comandos gerais do PHP
 
PHP - Introdução
PHP - IntroduçãoPHP - Introdução
PHP - Introdução
 
Minicurso Web. Front-end e HTML5 (parte 2)
Minicurso Web. Front-end e HTML5 (parte 2)Minicurso Web. Front-end e HTML5 (parte 2)
Minicurso Web. Front-end e HTML5 (parte 2)
 
Curso PHP - 1a. Aula (2013.2)
Curso PHP - 1a. Aula (2013.2)Curso PHP - 1a. Aula (2013.2)
Curso PHP - 1a. Aula (2013.2)
 
Php
PhpPhp
Php
 
PHP GUIA DE REFERÊNCIA - 02 - USANDO PHP
PHP GUIA DE REFERÊNCIA - 02 - USANDO PHPPHP GUIA DE REFERÊNCIA - 02 - USANDO PHP
PHP GUIA DE REFERÊNCIA - 02 - USANDO PHP
 
Seminário: PHP
Seminário: PHPSeminário: PHP
Seminário: PHP
 
Mini Curso de PHP
Mini Curso de PHPMini Curso de PHP
Mini Curso de PHP
 
PHP 7 - A Maioridade do PHP
PHP 7 - A Maioridade do PHPPHP 7 - A Maioridade do PHP
PHP 7 - A Maioridade do PHP
 
Tema 1 | Introdução a PHP
Tema 1 | Introdução a PHPTema 1 | Introdução a PHP
Tema 1 | Introdução a PHP
 
PHP Presente e Futuro
PHP Presente e FuturoPHP Presente e Futuro
PHP Presente e Futuro
 
Linguagem PHP
Linguagem PHPLinguagem PHP
Linguagem PHP
 
PHP, Presente e Futuro
PHP, Presente e FuturoPHP, Presente e Futuro
PHP, Presente e Futuro
 
Aula 01 introdução ao php
Aula 01   introdução ao phpAula 01   introdução ao php
Aula 01 introdução ao php
 

Mais de Carlos Santos

Is AI the Spice of our future?
Is AI the Spice of our future?Is AI the Spice of our future?
Is AI the Spice of our future?Carlos Santos
 
Mentoria entre pares de estudantes para estudantes
Mentoria entre pares de estudantes para estudantesMentoria entre pares de estudantes para estudantes
Mentoria entre pares de estudantes para estudantesCarlos Santos
 
1º Encontro Científico TCEdu
1º Encontro Científico TCEdu1º Encontro Científico TCEdu
1º Encontro Científico TCEduCarlos Santos
 
Tecnologias da Comunicação em Educação 2018: Aula inicial
Tecnologias da Comunicação em Educação 2018: Aula inicialTecnologias da Comunicação em Educação 2018: Aula inicial
Tecnologias da Comunicação em Educação 2018: Aula inicialCarlos Santos
 
AVILA Crew - Uma experiência de tutoria (com jogos) de alunos para alunos
AVILA Crew - Uma experiência de tutoria (com jogos) de alunos para alunosAVILA Crew - Uma experiência de tutoria (com jogos) de alunos para alunos
AVILA Crew - Uma experiência de tutoria (com jogos) de alunos para alunosCarlos Santos
 
AVILA Crew – Uma experiência de tutoria de alunos para alunos
AVILA Crew – Uma experiência de tutoria de alunos para alunosAVILA Crew – Uma experiência de tutoria de alunos para alunos
AVILA Crew – Uma experiência de tutoria de alunos para alunosCarlos Santos
 
Mestrado em Comunicação Multimédia da Universidade de Aveiro - Sessão de acol...
Mestrado em Comunicação Multimédia da Universidade de Aveiro - Sessão de acol...Mestrado em Comunicação Multimédia da Universidade de Aveiro - Sessão de acol...
Mestrado em Comunicação Multimédia da Universidade de Aveiro - Sessão de acol...Carlos Santos
 
Tecnologias da Comunicação em Educação: trabalho prático
Tecnologias da Comunicação em Educação: trabalho práticoTecnologias da Comunicação em Educação: trabalho prático
Tecnologias da Comunicação em Educação: trabalho práticoCarlos Santos
 
Sessão de acolhimento do MCMM da Universidade de Aveiro (2016/2017)
Sessão de acolhimento do MCMM da Universidade de Aveiro (2016/2017)Sessão de acolhimento do MCMM da Universidade de Aveiro (2016/2017)
Sessão de acolhimento do MCMM da Universidade de Aveiro (2016/2017)Carlos Santos
 
SAPO Campus towards a
 Smart Learning Environment
SAPO Campus towards a
 Smart Learning EnvironmentSAPO Campus towards a
 Smart Learning Environment
SAPO Campus towards a
 Smart Learning EnvironmentCarlos Santos
 
Repensar a tecnologia em contexto educativo: o caso do SAPO Campus
Repensar a tecnologia em contexto educativo: o caso do SAPO CampusRepensar a tecnologia em contexto educativo: o caso do SAPO Campus
Repensar a tecnologia em contexto educativo: o caso do SAPO CampusCarlos Santos
 
A technological approach to Open and Social Learning: 
the SAPO Campus project
A technological approach to Open and Social Learning: 
the SAPO Campus projectA technological approach to Open and Social Learning: 
the SAPO Campus project
A technological approach to Open and Social Learning: 
the SAPO Campus projectCarlos Santos
 
SAPO Campus: Gamification em contexto educativo
SAPO Campus: Gamification em contexto educativoSAPO Campus: Gamification em contexto educativo
SAPO Campus: Gamification em contexto educativoCarlos Santos
 
Repensar a tecnologia em contextos educativos: o SAPO Campus no DeCA
Repensar a tecnologia em contextos educativos: o SAPO Campus no DeCARepensar a tecnologia em contextos educativos: o SAPO Campus no DeCA
Repensar a tecnologia em contextos educativos: o SAPO Campus no DeCACarlos Santos
 
T20_LM3: APIs e Scoreoid
T20_LM3: APIs e ScoreoidT20_LM3: APIs e Scoreoid
T20_LM3: APIs e ScoreoidCarlos Santos
 
T19_LM3: Projeto final e documentação de planificação
T19_LM3: Projeto final e documentação de planificaçãoT19_LM3: Projeto final e documentação de planificação
T19_LM3: Projeto final e documentação de planificaçãoCarlos Santos
 
T17_LM3: Erros/Debug (2013-2014)
T17_LM3: Erros/Debug (2013-2014)T17_LM3: Erros/Debug (2013-2014)
T17_LM3: Erros/Debug (2013-2014)Carlos Santos
 

Mais de Carlos Santos (20)

Is AI the Spice of our future?
Is AI the Spice of our future?Is AI the Spice of our future?
Is AI the Spice of our future?
 
Mentoria entre pares de estudantes para estudantes
Mentoria entre pares de estudantes para estudantesMentoria entre pares de estudantes para estudantes
Mentoria entre pares de estudantes para estudantes
 
1º Encontro Científico TCEdu
1º Encontro Científico TCEdu1º Encontro Científico TCEdu
1º Encontro Científico TCEdu
 
Tecnologias da Comunicação em Educação 2018: Aula inicial
Tecnologias da Comunicação em Educação 2018: Aula inicialTecnologias da Comunicação em Educação 2018: Aula inicial
Tecnologias da Comunicação em Educação 2018: Aula inicial
 
AVILA Crew - Uma experiência de tutoria (com jogos) de alunos para alunos
AVILA Crew - Uma experiência de tutoria (com jogos) de alunos para alunosAVILA Crew - Uma experiência de tutoria (com jogos) de alunos para alunos
AVILA Crew - Uma experiência de tutoria (com jogos) de alunos para alunos
 
AVILA Crew – Uma experiência de tutoria de alunos para alunos
AVILA Crew – Uma experiência de tutoria de alunos para alunosAVILA Crew – Uma experiência de tutoria de alunos para alunos
AVILA Crew – Uma experiência de tutoria de alunos para alunos
 
chmod 777 education
chmod 777 educationchmod 777 education
chmod 777 education
 
Mestrado em Comunicação Multimédia da Universidade de Aveiro - Sessão de acol...
Mestrado em Comunicação Multimédia da Universidade de Aveiro - Sessão de acol...Mestrado em Comunicação Multimédia da Universidade de Aveiro - Sessão de acol...
Mestrado em Comunicação Multimédia da Universidade de Aveiro - Sessão de acol...
 
Tecnologias da Comunicação em Educação: trabalho prático
Tecnologias da Comunicação em Educação: trabalho práticoTecnologias da Comunicação em Educação: trabalho prático
Tecnologias da Comunicação em Educação: trabalho prático
 
Sessão de acolhimento do MCMM da Universidade de Aveiro (2016/2017)
Sessão de acolhimento do MCMM da Universidade de Aveiro (2016/2017)Sessão de acolhimento do MCMM da Universidade de Aveiro (2016/2017)
Sessão de acolhimento do MCMM da Universidade de Aveiro (2016/2017)
 
chmod 777 education
chmod 777 educationchmod 777 education
chmod 777 education
 
SAPO Campus towards a
 Smart Learning Environment
SAPO Campus towards a
 Smart Learning EnvironmentSAPO Campus towards a
 Smart Learning Environment
SAPO Campus towards a
 Smart Learning Environment
 
Repensar a tecnologia em contexto educativo: o caso do SAPO Campus
Repensar a tecnologia em contexto educativo: o caso do SAPO CampusRepensar a tecnologia em contexto educativo: o caso do SAPO Campus
Repensar a tecnologia em contexto educativo: o caso do SAPO Campus
 
A technological approach to Open and Social Learning: 
the SAPO Campus project
A technological approach to Open and Social Learning: 
the SAPO Campus projectA technological approach to Open and Social Learning: 
the SAPO Campus project
A technological approach to Open and Social Learning: 
the SAPO Campus project
 
SAPO Campus: Gamification em contexto educativo
SAPO Campus: Gamification em contexto educativoSAPO Campus: Gamification em contexto educativo
SAPO Campus: Gamification em contexto educativo
 
Repensar a tecnologia em contextos educativos: o SAPO Campus no DeCA
Repensar a tecnologia em contextos educativos: o SAPO Campus no DeCARepensar a tecnologia em contextos educativos: o SAPO Campus no DeCA
Repensar a tecnologia em contextos educativos: o SAPO Campus no DeCA
 
T20_LM3: APIs e Scoreoid
T20_LM3: APIs e ScoreoidT20_LM3: APIs e Scoreoid
T20_LM3: APIs e Scoreoid
 
T19_LM3: Projeto final e documentação de planificação
T19_LM3: Projeto final e documentação de planificaçãoT19_LM3: Projeto final e documentação de planificação
T19_LM3: Projeto final e documentação de planificação
 
T18_LM3: Ajax
T18_LM3: AjaxT18_LM3: Ajax
T18_LM3: Ajax
 
T17_LM3: Erros/Debug (2013-2014)
T17_LM3: Erros/Debug (2013-2014)T17_LM3: Erros/Debug (2013-2014)
T17_LM3: Erros/Debug (2013-2014)
 

Último

Gerenciando a Aprendizagem Organizacional
Gerenciando a Aprendizagem OrganizacionalGerenciando a Aprendizagem Organizacional
Gerenciando a Aprendizagem OrganizacionalJacqueline Cerqueira
 
UFCD_10392_Intervenção em populações de risco_índice .pdf
UFCD_10392_Intervenção em populações de risco_índice .pdfUFCD_10392_Intervenção em populações de risco_índice .pdf
UFCD_10392_Intervenção em populações de risco_índice .pdfManuais Formação
 
Bullying - Texto e cruzadinha
Bullying        -     Texto e cruzadinhaBullying        -     Texto e cruzadinha
Bullying - Texto e cruzadinhaMary Alvarenga
 
Aula - 1º Ano - Émile Durkheim - Um dos clássicos da sociologia
Aula - 1º Ano - Émile Durkheim - Um dos clássicos da sociologiaAula - 1º Ano - Émile Durkheim - Um dos clássicos da sociologia
Aula - 1º Ano - Émile Durkheim - Um dos clássicos da sociologiaaulasgege
 
Programa de Intervenção com Habilidades Motoras
Programa de Intervenção com Habilidades MotorasPrograma de Intervenção com Habilidades Motoras
Programa de Intervenção com Habilidades MotorasCassio Meira Jr.
 
Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)
Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)
Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)Mary Alvarenga
 
Aula - 2º Ano - Cultura e Sociedade - Conceitos-chave
Aula - 2º Ano - Cultura e Sociedade - Conceitos-chaveAula - 2º Ano - Cultura e Sociedade - Conceitos-chave
Aula - 2º Ano - Cultura e Sociedade - Conceitos-chaveaulasgege
 
BRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdf
BRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdfBRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdf
BRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdfHenrique Pontes
 
Slides Lição 4, CPAD, Como se Conduzir na Caminhada, 2Tr24.pptx
Slides Lição 4, CPAD, Como se Conduzir na Caminhada, 2Tr24.pptxSlides Lição 4, CPAD, Como se Conduzir na Caminhada, 2Tr24.pptx
Slides Lição 4, CPAD, Como se Conduzir na Caminhada, 2Tr24.pptxLuizHenriquedeAlmeid6
 
DIA DO INDIO - FLIPBOOK PARA IMPRIMIR.pdf
DIA DO INDIO - FLIPBOOK PARA IMPRIMIR.pdfDIA DO INDIO - FLIPBOOK PARA IMPRIMIR.pdf
DIA DO INDIO - FLIPBOOK PARA IMPRIMIR.pdfIedaGoethe
 
trabalho wanda rocha ditadura
trabalho wanda rocha ditaduratrabalho wanda rocha ditadura
trabalho wanda rocha ditaduraAdryan Luiz
 
HORA DO CONTO4_BECRE D. CARLOS I_2023_2024
HORA DO CONTO4_BECRE D. CARLOS I_2023_2024HORA DO CONTO4_BECRE D. CARLOS I_2023_2024
HORA DO CONTO4_BECRE D. CARLOS I_2023_2024Sandra Pratas
 
Cultura e Sociedade - Texto de Apoio.pdf
Cultura e Sociedade - Texto de Apoio.pdfCultura e Sociedade - Texto de Apoio.pdf
Cultura e Sociedade - Texto de Apoio.pdfaulasgege
 
Apostila da CONQUISTA_ para o 6ANO_LP_UNI1.pptx
Apostila da CONQUISTA_ para o 6ANO_LP_UNI1.pptxApostila da CONQUISTA_ para o 6ANO_LP_UNI1.pptx
Apostila da CONQUISTA_ para o 6ANO_LP_UNI1.pptxIsabelaRafael2
 
cartilha-pdi-plano-de-desenvolvimento-individual-do-estudante.pdf
cartilha-pdi-plano-de-desenvolvimento-individual-do-estudante.pdfcartilha-pdi-plano-de-desenvolvimento-individual-do-estudante.pdf
cartilha-pdi-plano-de-desenvolvimento-individual-do-estudante.pdfIedaGoethe
 
QUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptx
QUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptxQUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptx
QUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptxIsabellaGomes58
 
ATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptx
ATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptxATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptx
ATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptxOsnilReis1
 
Sociologia Contemporânea - Uma Abordagem dos principais autores
Sociologia Contemporânea - Uma Abordagem dos principais autoresSociologia Contemporânea - Uma Abordagem dos principais autores
Sociologia Contemporânea - Uma Abordagem dos principais autoresaulasgege
 
Aula 13 8º Ano Cap.04 Revolução Francesa.pptx
Aula 13 8º Ano Cap.04 Revolução Francesa.pptxAula 13 8º Ano Cap.04 Revolução Francesa.pptx
Aula 13 8º Ano Cap.04 Revolução Francesa.pptxBiancaNogueira42
 
Slides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptx
Slides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptxSlides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptx
Slides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptxLuizHenriquedeAlmeid6
 

Último (20)

Gerenciando a Aprendizagem Organizacional
Gerenciando a Aprendizagem OrganizacionalGerenciando a Aprendizagem Organizacional
Gerenciando a Aprendizagem Organizacional
 
UFCD_10392_Intervenção em populações de risco_índice .pdf
UFCD_10392_Intervenção em populações de risco_índice .pdfUFCD_10392_Intervenção em populações de risco_índice .pdf
UFCD_10392_Intervenção em populações de risco_índice .pdf
 
Bullying - Texto e cruzadinha
Bullying        -     Texto e cruzadinhaBullying        -     Texto e cruzadinha
Bullying - Texto e cruzadinha
 
Aula - 1º Ano - Émile Durkheim - Um dos clássicos da sociologia
Aula - 1º Ano - Émile Durkheim - Um dos clássicos da sociologiaAula - 1º Ano - Émile Durkheim - Um dos clássicos da sociologia
Aula - 1º Ano - Émile Durkheim - Um dos clássicos da sociologia
 
Programa de Intervenção com Habilidades Motoras
Programa de Intervenção com Habilidades MotorasPrograma de Intervenção com Habilidades Motoras
Programa de Intervenção com Habilidades Motoras
 
Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)
Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)
Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)
 
Aula - 2º Ano - Cultura e Sociedade - Conceitos-chave
Aula - 2º Ano - Cultura e Sociedade - Conceitos-chaveAula - 2º Ano - Cultura e Sociedade - Conceitos-chave
Aula - 2º Ano - Cultura e Sociedade - Conceitos-chave
 
BRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdf
BRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdfBRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdf
BRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdf
 
Slides Lição 4, CPAD, Como se Conduzir na Caminhada, 2Tr24.pptx
Slides Lição 4, CPAD, Como se Conduzir na Caminhada, 2Tr24.pptxSlides Lição 4, CPAD, Como se Conduzir na Caminhada, 2Tr24.pptx
Slides Lição 4, CPAD, Como se Conduzir na Caminhada, 2Tr24.pptx
 
DIA DO INDIO - FLIPBOOK PARA IMPRIMIR.pdf
DIA DO INDIO - FLIPBOOK PARA IMPRIMIR.pdfDIA DO INDIO - FLIPBOOK PARA IMPRIMIR.pdf
DIA DO INDIO - FLIPBOOK PARA IMPRIMIR.pdf
 
trabalho wanda rocha ditadura
trabalho wanda rocha ditaduratrabalho wanda rocha ditadura
trabalho wanda rocha ditadura
 
HORA DO CONTO4_BECRE D. CARLOS I_2023_2024
HORA DO CONTO4_BECRE D. CARLOS I_2023_2024HORA DO CONTO4_BECRE D. CARLOS I_2023_2024
HORA DO CONTO4_BECRE D. CARLOS I_2023_2024
 
Cultura e Sociedade - Texto de Apoio.pdf
Cultura e Sociedade - Texto de Apoio.pdfCultura e Sociedade - Texto de Apoio.pdf
Cultura e Sociedade - Texto de Apoio.pdf
 
Apostila da CONQUISTA_ para o 6ANO_LP_UNI1.pptx
Apostila da CONQUISTA_ para o 6ANO_LP_UNI1.pptxApostila da CONQUISTA_ para o 6ANO_LP_UNI1.pptx
Apostila da CONQUISTA_ para o 6ANO_LP_UNI1.pptx
 
cartilha-pdi-plano-de-desenvolvimento-individual-do-estudante.pdf
cartilha-pdi-plano-de-desenvolvimento-individual-do-estudante.pdfcartilha-pdi-plano-de-desenvolvimento-individual-do-estudante.pdf
cartilha-pdi-plano-de-desenvolvimento-individual-do-estudante.pdf
 
QUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptx
QUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptxQUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptx
QUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptx
 
ATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptx
ATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptxATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptx
ATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptx
 
Sociologia Contemporânea - Uma Abordagem dos principais autores
Sociologia Contemporânea - Uma Abordagem dos principais autoresSociologia Contemporânea - Uma Abordagem dos principais autores
Sociologia Contemporânea - Uma Abordagem dos principais autores
 
Aula 13 8º Ano Cap.04 Revolução Francesa.pptx
Aula 13 8º Ano Cap.04 Revolução Francesa.pptxAula 13 8º Ano Cap.04 Revolução Francesa.pptx
Aula 13 8º Ano Cap.04 Revolução Francesa.pptx
 
Slides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptx
Slides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptxSlides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptx
Slides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptx
 

LabMM4 (T10 - 12/13) - Tecnologias server-side - PHP

  • 1. Tecnologias server-side: PHP Carlos Santos LabMM 4 - NTC - DeCA - UA Aula 10, 21-03-2013
  • 2. Um pouco de história 1995 • Rasmus Lerdorf desenvolve Scripts CGI em Perl (contador de visitantes da sua página) • oferece esses script sob o nome – Personal Home Page 1997 • PHP 2.0 (Personal Home Page/Form Interpreter) - utiliza linguagem C • popularidade cresce exponencialmente • desenvolve-se uma comunidade de programadores/utilizadores 1998 • PHP 3.0, em 1999 tem já mais de 1 milhão de utilizadores • Andi Gutmans, Zeev Suraski
  • 3. Um pouco de história 2000 • PHP 4.0 passa a significar PHP: Hypertext Preprocessor • motor/parser reescrito -> Zend Engine • introduz: gestão recursos, OOP e gestão de sessões 2004 • PHP 5.0 (versão atual é a 5.4.##) • maior suporte a OOP com desenvolvimento de frameworks (Zend) • suporte a XML, Web Services, … • utilizada em mais de 20 milhões de web sites… 20?? • PHP 6.0, ainda em desenvolvimento…
  • 4. Arquitetura funciona numa plataforma Web • Exemplo: Apache Web Server + Módulo PHP permite o desenvolvimento de aplicações Web numa arquitetura de 3 camadas Apresentação • HTML,  CSS,  Javascript,  AJAX,  … Lógica • PHP Dados • MySQL a linguagem PHP é processada no servidor (server-side) está normalmente embebida em páginas HTML e gera HTML!
  • 5. Caraterísticas simples de usar, generalidade das funções está disponível por defeito poderosa, centenas de livrarias disponíveis (acesso facilitado a funções) flexível, permite a livre escolha das soluções para a implementação das aplicações Web (por exemplo: escolher livremente o SGBDR a utilizar) gratuita desenvolvida colaborativamente, maior evolução
  • 6. Funcionamento todo o PHP (embebido no HTML) é processado no servidor para o browser (client-side) será enviada uma página apenas com HTML <body> <p>Hello World</p> </body>
  • 7. Páginas estáticas uma página estática é uma página cujo conteúdo e aspeto foram determinados pelo seu autor. • o conteúdo e o aspeto são constantes independentemente de quem visita a página, quando a visita ou como a visita • alterações numa página estática só podem ser efectuadas através da edição do código • exemplo: uma página HTML que se encontra publicada num servidor Web
  • 8. Páginas dinâmicas uma página dinâmica para a Web é uma página cujo conteúdo e aspeto não são totalmente determinados no seu estado inicial (isto é, quando foi publicada pelo seu autor) • os conteúdos e aspeto são determinados após um utilizador executar um pedido da mesma, ao servidor Web, através de um browser • os conteúdos e aspeto da página podem variar de pedido para pedido • exemplo: página HTML com PHP embebido no momento em que existe um pedido de acesso à página, o PHP embebido é executado no servidor para gerar a página final
  • 9. Páginas dinâmicas existem dois tipos de tecnologias dinâmicas: • server-side (executado no servidor) • PHP • .Net (ASP) • JSP • Perl • ... • client-side (executado no browser) • JavaScript • DART • Flash • ...
  • 10. Como saber o que temos disponível no servidor? para ver a configuração do PHP atualmente instalada num qualquer servidor Web <?php phpinfo(); ?> mostra módulos extras ativos no PHP o PHP no Apache é configurado através do ficheiro php.ini
  • 11. estrutura e sintaxe sintaxe a utilizar <body> ! ! <?php echo "Hello World"; ?> ! </body> separação das instruções “;” <body> ! ! <?php ! ! echo "Hello World"; ! ! echo “Peace and Love!!!!“; ! ! ?> </body>
  • 12. estrutura e sintaxe múltiplos blocos de código PHP numa página HTML <body> ! ! <?php echo "Hello World"; ?> ! ! <p> Outro HTML</p> ! ! <?php echo “Peace and Love"; ?> ! </body>
  • 13. Comentários comentários <?php // Este é um comentário // Este é outro comentário echo "Hello World"; /* Este é outro comentário que ocupa mais do que uma linha */ echo "Olá Mundo"; ?> comentários no estilo shell unix <?php ! ! # Este é um comentário ! ! # Este é outro comentário ! ! echo "Hello World"; ! ?>
  • 14. case sensitive? Case sensitive (both user defined and PHP defined) • variables • constants • array keys • class properties • class constants Case insensitive (both user defined and PHP defined) • functions • class constructors • class methods • keywords and constructs (if, else, null, foreach, echo etc.) http://the-echoplex.net/log/php-case-sensitivity
  • 15. Output <?php print("<p>Hello World</p>"); ?> <?php print("<p>Hello World. I’m $name.</p>"); ?> <?php echo "<p>Hello World. I’m $name.</p>"; ?>
  • 16. Output <?php printf(“Bar: %d garrafas.”, $bottles); ?> • identificador de tipo/formato da variável -> %d (inteiro) • mistura/formata a parte dinâmica e parte estática da string <?php $MeuTexto = sprintf(“Preço: %.2f.”, $Price); ?> • igual ao printf mas devolve resultado para uma variável do tipo string
  • 17. Output <?php printf(“Bar: %d garrafas.”, $bottles); ?> Se $bottles = 6.113 -> “Bar: 6 garrafas.” <?php $MeuTexto = sprintf(“Preço: %.2f.”, $Price); ?> Se $Price = 25.9183 -> $MeuTexto = “Preço: 25.92.”
  • 18. printf e sprintf especificação do tipo de dados para a formatação: • %b -> número binário • %c -> caracter correspondente ao código ASCII • %d -> número inteiro com sinal • %f ->número em vírgula flutuante • %o -> número em octal • %s -> string • %u -> número inteiro sem sinal • %x -> número hexadecimal em minúsculas • %X -> número hexadecimal em maiúsculas