Redes de Comunicação
[Aulas 91 e 92]
▪ Sumário
▪ A programação do lado do cliente e do lado do
servidor.
▪ As principais tecnologias de programação das
páginas Web.
▪ Instalação e administração do pacote de software
XAMPP.
▪ Introdução à linguagem de scripting PHP:
• objetivos e características.
▪ Os diferentes operadores utilizados em PHP.
▪ Elementos básicos da linguagem PHP:
• tipos de dados, variáveis e constantes.
•2
Vamos pensar…
•3
Programação: lado cliente vs lado
servidor
▪ Para além dos programas de aplicação
que existem vocacionados para a criação
de páginas web, existem também diversas
ferramentas de programação para dar
mais potencialidades às páginas e sites da
web, nomeadamente, mais dinamismo e
interação com o utilizador.
•4
Programação: lado cliente vs lado
servidor
▪ Quando se fala de dinamismo relativamente a
páginas ou sites da web devemos ter em
conta que:
▪ uma página web estática é um documento em
HTML que se limita a apresentar determinados
conteúdos fixos e sempre iguais;
▪ uma página web dinâmica é um documento em
HTML que, para além de conteúdos fixos, exibe
também elementos que se modificam (animação,
vídeo, etc.) e, eventualmente, formas de interação
com o utilizador.
•5
Programação: lado cliente vs lado
servidor
▪ Quando se fala de interação relativamente a
páginas ou sites devemos ter em conta que:
▪ Certos tipos de interação com o utilizador são
processados diretamente do lado do cliente (web
browser)
• Exemplo: passar o rato por uma zona da página que faz
aparecer uma mensagem ou imagem que já estava
prevista no código enviado
▪ Outros tipos de interação com o utilizador
necessitam de processamento do lado do
servidor (web server), onde a resposta tem de ser
elaborada antes de ser enviada ao cliente
• Exemplo: a consulta a uma base de dados
•6
Programação: lado cliente vs lado
servidor
▪ Representação esquemática da relação
web browser / web server
•7
Ferramentas de programação para ser
tratada no lado do browser
Principais opções:
JavaScript; Applets de Java; VB
Script; Componentes ActiveX; etc.
Ferramentas de programação para
ser tratada no lado do servidor
Principais opções:
CGI com C; Perl; Servelets de
Java, JSP; ASP; PHP; etc.
<HTML>
Documentos
HTML
</HTML>
Cliente
Web Browser
Leitura de Páginas Web
Servidor
Web Server
Sites Web
Página Web
HTML + Scripts
Pedido
Resposta
Páginas web / HTML
Programação: lado cliente vs lado
servidor
▪ Em conclusão da figura anteriormente
apresentada, pode-se considerar dois tipos
de programação para páginas e sites web:
▪ Programação destinada a ser processada do
lado do cliente, ou seja, pelo web browser;
▪ Programação destinada a ser processada do
lado do servidor ou seja, pelo web server.
•8
Programação: lado cliente vs lado
servidor
▪ Em relação à programação destinada a ser
processada do lado do cliente (web browser),
as opções mais usadas são as seguintes:
▪ Javascript – uma linguagem de programação de
scripts derivada da linguagem Java;
▪ Applets de Java – pequenas aplicações em Java
para correrem nos browsers;
▪ VB Script – uma linguagem de programação de
scripts derivada da linguagem Visual Basic;
▪ Componentes ActiveX – uma tecnologia da
Microsoft para criar elementos que podem ser
integrados em páginas web e outras aplicações.
•9
Programação: lado cliente vs lado
servidor
▪ Em relação à programação destinada a ser
processada do lado do servidor (web server), as
principais tecnologias são as seguintes:
▪ CGI (Commom Gateway Interface) – com scripts em C,
Perl, etc. (tecnologia aberta e gratuita)
▪ Servlets de Java – aplicações em Java para correrem nos
servidores;
▪ JSP (Java Server Pages) – scripts em Java para os
servidores;
▪ ASP (Active Server Pages) – scripts em VBScript (e outras
linguagens) para correrem nos servidores (uma tecnologia
da Microsoft);
▪ PHP (Personal Home Pages) – scripts para correrem nos
servidores (uma tecnologia de código aberto e com
distribuição gratuita).
•10
Principais tecnologias de programação
de páginas web
▪ As tecnologias de programação web mais
divulgadas são as seguintes:
▪ A linguagem de programação Java
▪ A tecnologia ASP
▪ A tecnologia PHP
•11
A linguagem de programação Java
▪ Linguagem com todas as funcionalidades
habituais, incluindo programação orientada a
objetos.
▪ Foi desenvolvida por um grupo de
investigadores da Sun Microsystems e
tornada pública em 1995.
▪ Permite obter aplicações independentes da
plataforma computacional, ou seja, podem
ser criadas num sistema e correr num outro,
por exemplo, aplicações criadas em Linux e
que podem correr em Windows.
•12
A linguagem de programação Java
▪ O sucesso do Java deve-se também às
diferentes derivações e opções que
surgiram na área de programação para a
Web
▪ As applets de Java
▪ A linguagem Javascript
▪ As servlets de Java
▪ A tecnologia JSP
•13
A tecnologia ASP
▪ Active Server Pages
▪ É uma outra tecnologia de programação de
scripts para execução nos servidores (em que
a linguagem mais utilizada é VBScript).
▪ Surgiu como resposta da Microsoft na área da
programação Web (em relação às tecnologias
Java).
•14
A tecnologia PHP
▪ Personal Home Pages
▪ Tecnologia de programação de scripts para
execução no lado dos servidores.
▪ Numa fase inicial, a tecnologia PHP surgiu, pela
autoria de Rasmus Lerdorf (cerca de 1995), como
um conjunto de ferramentas de tipo CGI, escritas
em C e Perl, para uso pessoal do autor.
▪ Devido a uma boa conceção, eficiência e relativa
facilidade de uso, a tecnologia PHP rapidamente
se divulgou entre os programadores de web sites;
▪ Tecnologia distribuída gratuitamente.
•15
A tecnologia PHP
▪ A grande divulgação do PHP como tecnologia
de informação para a Web deve-se também à
sua excelente capacidade de articulação
com:
▪ os servidores Web mais divulgados,
designadamente: o Apache (de distribuição
gratuita) e o IIS (Internet Information Server),
comercializado pela Microsoft;
▪ sistemas de gestão de bases de dados de
distribuição gratuita (MySQL) e também outros de
natureza comercial.
•16
✓O trio constituído por PHP, Apache e MySQL constitui atualmente uma
das combinações tecnológicas mais popularizadas para a criação de web
sites com acesso a bases de dados.
A tecnologia PHP
▪ PHP é uma linguagem interpretada
▪ o código PHP é interpretado no servidor que
envia a página.
▪ Quando se abre um documento HTML com
um script em JavaScript, podemos pedir para
ver o código desse script no nosso browser.
▪ Quando recebemos uma página web que tem
um script PHP na sua origem, apenas
podemos ver no nosso browser o código
HTML que é gerado pelo código PHP.
•17
A tecnologia PHP
•18
A tecnologia PHP
▪ Representação da arquitetura e do
funcionamento da tecnologia PHP
▪ Embora uma das principais razões de
existirem scripts do lado dos servidores Web
seja o acesso a bases de dados, estes scripts
também podem existir por outros motivos.
•19
Cliente
Web Browser
Internet Explorer,
Mozzila FireFox
Páginas web
interativas
Servidor
Web Server
Apache, IIS
Interpretador de
PHP
Bases de dados
Sistema de Gestão de
Bases de Dados:
MySQL, Oracle
Pedido
Resposta
Ativação de um programa,
acesso a uma base de dados.
Resposta ao pedido
SERVIDOR WEB
•20
Servidor web
▪ Para podermos testar websites com
código PHP precisamos de os alojar num
servidor web que interprete o código e
devolva as páginas web ao browser.
▪ Podemos usar um servidor web local, no
nosso computador, em que os websites
apenas serão acessíveis dentro da rede de
área local ou usar contratar um serviço de
alojamento web, onde os nossos websites
estarão acessíveis a partir da internet.
•21
Servidor web
▪ Em fase de testes, o ideal é usar um servidor local,
para isso sugere-se a utilização do pacote de
software XAMPP, que consiste na instalação de
um servidor web (Apache) e um servidor de bases
de dados (MySQL), entre outras aplicações.
▪ O XAMPP é gratuito e pode ser encontrado no
endereço:
▪ https://www.apachefriends.org/download.html
▪ A versão portable pode ser encontrada em:
▪ https://sourceforge.net/projects/xampp/files/XAMPP%
20Windows/7.2.22/xampp-portable-windows-x64-
7.2.22-0-VC15.zip/download
•22
Servidor web
▪ XAMPP
▪ Painel de controlo
•23
Servidor web
▪ XAMPP
▪ Painel de controlo
• Para iniciar o servidor web acedemos ao painel de
controlo do XAMPP, e clicamos em “Start”, na linha
do servidor “Apache”.
•24
Servidor web
▪ XAMPP
▪ Alojamento dos websites
• Para podermos testar um website ou página web
temos de a alojar no servidor, para isso colocamos
os ficheiros na pasta “htdocs” que deverá estar
dentro da pasta “xampp”, cuja localização depende
das opções de instalação.
•25
Servidor web
▪ XAMPP
▪ Acesso aos websites
• Para aceder aos websites ou páginas web alojadas no
servidor local abrimos um browser, como por exemplo o
Google Chrome, e colocamos na barra de endereços
– localhost/pasta-do-website
• pasta-do-website é o nome da pasta em que colocamos as
páginas web do website, que deve ficar dentro da pasta
“htdocs”.
• Se não colocarmos o nome da página web o servidor procura
um documento chamado index.html ou index.php. Se não
encontrar mostra o conteúdo da pasta.
• Se colocarmos o nome de uma página o servidor vai abrir
essa página.
•26
LINGUAGEM PHP
•27
Vamos pensar…
Nos algoritmos é necessário conhecer
as convenções para a sua construção.
No PHP também existem convenções
para a sua utilização.
•28
Scripts
▪ São pedaços de código de determinadas
linguagens de programação executados no
interior de programas e/ou de outras
linguagens de programação
▪ Exemplos:
▪ JavaScript
▪ PHP
•29
<html>
<head>
<title>Exemplo</title>
</head>
<body>
<?php
echo utf8_encode(’Olá, Eu sou um script PHP!’;)
?>
</body>
</html>
PHP
▪ A tecnologia PHP (Personal Home Pages) é
uma tecnologia de programação de scripts
para execução no lado dos servidores
▪ É uma linguagem de programação livre e
muito utilizada para gerar conteúdo dinâmico
na World Wide Web.
▪ Atualmente, a sigla PHP surge com o
significado de PHP Hypertext Preprocessor
•30
Características
▪ Capacidade de articulação com
▪ Servidores web (Apache, IIS)
▪ SGBD (MySql)
▪ Linguagem interpretada (no servidor que
envia a página)
▪ Velocidade
▪ Portabilidade
•31
Principais convenções da linguagem
PHP
▪ Existe diferença entre maiúsculas e
minúsculas (PHP é case sensitive).
▪ Os nomes das variáveis começam sempre
com o carácter $.
▪ Os nomes das funções podem ser escritos
em maiúsculas e minúsculas.
▪ O código PHP é delimitado pelos caracteres
<?php … ?>.
•32
Principais convenções da linguagem
PHP
▪ Uma instrução termina com ponto e vírgula (;), no entanto em
PHP há a exceção de uma instrução que termina junto a uma
marca de fim de código ?> - aí, o ponto e virgula é opcional
▪ Um bloco de instruções é incluído dentro de chavetas {…}
▪ Os comentários inserem-se entre os sinais /* e */ ou, numa
linha após um sinal //; ou ainda pode ser usado o carácter #
para sinalizar um comentário desde esse ponto até ao final da
linha
▪ A função “echo” permite escrever na página web, seja texto ou
o valor de uma variável.
•33
Operadores da linguagem PHP
▪ Operadores Aritméticos:
•34
Exemplos:
<?php
$x = 3 * 4; //$x é igual a 12
$a = ($b = 4) + 5; // $a é igual a 9 agora e $b foi configurado como 4.
?>
Operador Significado Exemplo
+ Adição $a + $b
- Subtração $a – $b
* Multiplicação $a * $b
/ Divisão $a / $b
% Resto divisão inteira $a % $b
Operadores da linguagem PHP
▪ Operadores Aritméticos de atribuição:
▪ O operador básico de atribuição é o símbolo “=“.
▪ Calcula a expressão do lado direito da atribuição
a atribui-a à variável do lado esquerdo.
•35
Exemplo
<?php
$a = 3;
$a += 5; // configura $a para 8, como se disséssemos: $a = $a + 5;
?>
Operador Significado Exemplo
+= Adição seguida de atribuição $a += 3
-= Subtração seguida de atribuição $a -= 3
*= Multiplicação seguida de atribuição $a *= 3
/= Divisão seguida de atribuição $a /= 3
%= Resto de divisão inteira seguida de atribuição $a %= 3
Exemplos
<?php
$a = 5;
echo "Deve ser 5: " . $a++ . "<br />n";
echo "Deve ser 6: " . $a . "<br />n";
$a = 5;
echo "Deve ser 6: " . ++$a . "<br />n";
echo "Deve ser 6: " . $a . "<br />n";
?>
Operadores da linguagem PHP
▪ Operadores de incremento e decremento:
•36
Operador Significado
++ Incremento
-- Decremento
Exemplo Nome Resultado
++$a Pré-incremento Incrementa $a em uma unidade e depois devolve $a
$a++ Pós-incremento Devolve $a e depois incrementa $a em uma unidade
--$a Pré-incremento Decrementa $a em uma unidade e depois devolve $a
$a-- Pós-decremento Devolve $a e depois decrementa $a em uma unidade
Operadores da linguagem PHP
▪ Operadores lógicos:
▪ Os operadores lógicos operam valores lógicos
e permitem construir expressões lógicas
complexas.
•37
Operador Significado
! Not – Negação lógica
&& And – Conjunção lógica
|| Or - Disjunção lógica
Exemplo Nome Resultado
!$a Negação lógica True se $a for False
$a && $b Conjunção lógica True se $a e $b forem True
$a || $b Disjunção lógica True se $a ou $b forem True
Exemplo de Operadores lógicos:
$a $b $a and $b $a or $b ~$a
F F F F V
F V F V V
V F F V F
V V V V F
Tabela de verdade:
Operadores da linguagem PHP
▪ Operadores relacionais ou comparativos:
•38
Nota:
Operador Significado
== Igual a
!= Diferente de
< Menor que
> Maior que
<= Menor ou igual que
>= Maior ou igual que
=== Igualdade restrita
!== Desigualdade restrita
Operador Significado Descrição
=== Igualdade restrita Significa que as expressões comparadas
devem ser iguais em valor e tipo de dados
!== Desigualdade restrita Significa que as expressões comparadas
devem ser diferentes em valor e/ou tipo de
dados
Operadores da linguagem PHP
▪ Exemplos de operadores relacionais ou
comparativos
•39
Exemplo Nome Resultado
$a == $b Igual a Verdade se $a for igual a $b
$a != $b Diferente de Verdade se $a for diferente de $b
$a < $b Menor que Verdade se $a for menor que $b
$a > $b Maior que Verdade se $a for maior que $b
$a <= $b Menor ou igual que Verdade se $a for menor ou igual que $b
$a >= $b Maior ou igual que Verdade se $a for maior ou igual que $b
$a === $b Igualdade restrita Verdade se $a for igual a $b e forem ambos do mesmo tipo
$a !== $b Desigualdade restrita Verdade se $a for diferente de $b ou se forem de tipos diferentes
Operadores da linguagem PHP
▪ Operadores de junção de strings:
•40
Exemplo
<?php
$b = "Bom ";
$b .= "Dia!"; // configura $b para "Bom Dia!", como em $b = $b . "Dia!";
?>
Operador Significado
. (ponto) Junção de strings
Elementos básicos da linguagem PHP:
tipos de dados, variáveis e constantes.
•41
Tipos de dados em PHP
▪ Em PHP, apesar de não existirem palavras
próprias para definir os tipos de dados a
que as variáveis pertencem, existem,
implicitamente, os seguintes principais
tipos de dados primitivos:
▪ Booleano ou lógico (boolean);
▪ Número inteiro (integer);
▪ Número real (float);
▪ Cadeia de caracteres (string).
•42
Tipos de dados em PHP
▪ Para além dos referidos tipos primitivos,
em PHP existem outros tipos de dados
diferentes:
▪ array;
▪ object;
▪ resource (recurso) e
▪ o tipo especial NULL (correspondente a um
valor nulo).
•43
Booleano ou lógico
▪ Um dado booleano – boolean - expressa
um valor lógico que pode ser True ou
False.
▪ Estes valores lógicos podem ser escritos
em maiúsculas ou minúsculas.
▪ Exemplos:
▪ $b1 = True; // Valor lógico True
▪ $b2 = False; // Valor lógico False
•44
Número inteiro
▪ Um inteiro – integer – é um número do
conjunto Z (conjunto dos números inteiros
positivos e negativos).
▪ Exemplos:
▪ $a = 1234; # Número positivo
▪ $b = -123; # Número negativo
•45
Número real
▪ Um número real – float – é um número do
conjunto R (conjunto dos números reais)
▪ Exemplo:
▪ $a = 1.234; # Número real 1,234
•46
Cadeia de caracteres
▪ Uma cadeia de caracteres – string –
consiste numa sequência de caracteres.
▪ As cadeias de caracteres em PHP não têm
limite de comprimento.
▪ Uma cadeia pode ser especificada de três
formas diferentes:
▪ A - entre plicas;
▪ B - entre aspas;
▪ C - entre marcas.
•47
Cadeia de caracteres
▪ A – Entre Plicas
▪ Forma mais simples
▪ Para especificar uma plica dentro de uma cadeia
é necessário precedê-la de uma barra invertida.
▪ Em todas as outras situações, a barra invertida é
impressa como parte da cadeia de caracteres.
▪ Exemplos:
• Echo ‘Esta é uma cadeia simples’; // Imprime: Esta é
uma cadeia simples
• Echo ‘Ela disse ’olá’ e saiu.’; // Imprime: Ela disse ‘olá’
e saiu.
• Echo ‘Pretende apagar C:*.*?’; // Imprime: Pretende
apagar C:*.*?
•48
Cadeia de caracteres
▪ B – Entre Aspas
▪ A maior vantagem de especificar cadeias
entre aspas é o facto dos nomes das variáveis
assumirem o verdadeiro valor da variável.
▪ No seguinte exemplo, o valor da variável
$meuNome é substituído na cadeia impressa:
• $meuNome = ‘José’;
• Echo “Chamo-me $meuNome”; #Imprime: Chamo-
me José
•49
Cadeia de caracteres
▪ C – Entre Marcas
▪ A cadeia é delimitada no início pela marca
“<<<“ seguida de um identificador, e no fim
pelo mesmo identificador colocado no início
de uma nova linha.
▪ Exemplo:
• $str = <<<identificador
• Exemplo de uma cadeia que se estende por
diversas linhas usando a sintaxe entre marcas.
• identificador;
•50
Utilização de variáveis em PHP
▪ Variável é um dado que pode ser alterado
ao longo do programa/algoritmo.
▪ Surgem através de identificadores, ou
seja, nomes que as identificam.
▪ Exemplos:
▪ <?php //início do código PHP
▪ $nome = “João”; //variável $nome
▪ $Nome = “Júlia”; //variável $Nome
▪ echo “$nome, $Nome” //Imprimir: João, Júlia
▪ ?> //fim do código PHP •51
Utilização de variáveis em PHP
▪ As variáveis em PHP são representadas por
um cifrão seguido do nome da variável.
▪ O nome da variável tem que começar com
uma letra ou um símbolo de underscore “_”.
▪ Pode seguir-se uma sequência de qualquer
destes símbolos ou qualquer algarismo.
▪ O PHP distingue maiúsculas de minúsculas
nos nomes das variáveis (PHP é case
sensitive).
•52
Utilização de variáveis em PHP
▪ Em PHP não existe declaração prévia de
variáveis.
▪ Uma variável passa a existir quando o seu
nome é escrito pela primeira vez.
▪ Normalmente, isso acontece numa instrução
de atribuição, em que uma variável recebe um
determinado valor; por exemplo: $x=10.
•53
Variáveis pré-definidas
▪ O PHP define um conjunto de variáveis
que contêm informação relevante sobre o
ambiente e o programa em curso.
•54
Variável Descrição
$GLOBALS Contém uma referência para cada variável que está disponível de forma global no
programa em curso.
$_SERVER Variáveis da responsabilidade do servidor de Internet, nomeadamente o endereço IP e
o porto do cliente.
$_GET Variáveis obtidas por meio do comando HTTP GET.
$_POST Variáveis obtidas por meio do comando HTTP POST.
$_COOKIE Variáveis obtidas a partir dos cookies, via HTTP.
$_FILES Variáveis respeitantes ao carregamento de ficheiros.
$_ENV Variáveis de ambiente.
$_REQUEST Variáveis fornecidas pelo utilizador, logo de baixo nível de segurança.
$_SESSION Variáveis associadas à sessão do programa atual.
Utilização de variáveis em PHP
▪ O tipo de dados de uma variável é
determinado pelo último valor que lhe for
atribuído.
▪ Uma variável pode receber um valor de um
tipo e, em seguida, receber uma valor de um
outro tipo completamente diferente.
▪ Exemplo:
•55
Nota:
A função gettype() indica o tipo de dados que cada variável assumiu.
<?php
$x = 10;
echo 'Valor de $x: '.$x.'<br>';
echo gettype($x).'<br>';
$b = ($x == 10);
echo 'Valor de $b: '.$b.'<br>';
echo gettype($b).'<br>';
$x = 1.5;
echo 'Valor de $x: '.$x.'<br>';
echo gettype($x).'<br>';
$x = "Ana Dias";
echo 'Valor de $x: '.$x.'<br>';
echo gettype($x).'<br>';
echo gettype($z).'<br>';
?>
Constantes em PHP
▪ Uma constante é um dado que permanece
inalterável do início ao fim do programa.
▪ Exemplos:
▪ define (“PI”, 3.1415926);
▪ define (“CUMPRIMENTO”, “Olá Mundo”);
•56
Constantes em PHP
▪ Características
▪ Os nomes das constantes não são precedidos
de cifrão ($);
▪ As constantes são definidas através da função
define();
▪ As constantes permanecem inalteradas ao
longo de todo o código;
▪ As constantes não podem ser redefinidas;
▪ As constantes costumam ser escritas com
maiúsculas.
•57

Aula introdutória da linguagem de programação web PHP

  • 1.
  • 2.
    [Aulas 91 e92] ▪ Sumário ▪ A programação do lado do cliente e do lado do servidor. ▪ As principais tecnologias de programação das páginas Web. ▪ Instalação e administração do pacote de software XAMPP. ▪ Introdução à linguagem de scripting PHP: • objetivos e características. ▪ Os diferentes operadores utilizados em PHP. ▪ Elementos básicos da linguagem PHP: • tipos de dados, variáveis e constantes. •2
  • 3.
  • 4.
    Programação: lado clientevs lado servidor ▪ Para além dos programas de aplicação que existem vocacionados para a criação de páginas web, existem também diversas ferramentas de programação para dar mais potencialidades às páginas e sites da web, nomeadamente, mais dinamismo e interação com o utilizador. •4
  • 5.
    Programação: lado clientevs lado servidor ▪ Quando se fala de dinamismo relativamente a páginas ou sites da web devemos ter em conta que: ▪ uma página web estática é um documento em HTML que se limita a apresentar determinados conteúdos fixos e sempre iguais; ▪ uma página web dinâmica é um documento em HTML que, para além de conteúdos fixos, exibe também elementos que se modificam (animação, vídeo, etc.) e, eventualmente, formas de interação com o utilizador. •5
  • 6.
    Programação: lado clientevs lado servidor ▪ Quando se fala de interação relativamente a páginas ou sites devemos ter em conta que: ▪ Certos tipos de interação com o utilizador são processados diretamente do lado do cliente (web browser) • Exemplo: passar o rato por uma zona da página que faz aparecer uma mensagem ou imagem que já estava prevista no código enviado ▪ Outros tipos de interação com o utilizador necessitam de processamento do lado do servidor (web server), onde a resposta tem de ser elaborada antes de ser enviada ao cliente • Exemplo: a consulta a uma base de dados •6
  • 7.
    Programação: lado clientevs lado servidor ▪ Representação esquemática da relação web browser / web server •7 Ferramentas de programação para ser tratada no lado do browser Principais opções: JavaScript; Applets de Java; VB Script; Componentes ActiveX; etc. Ferramentas de programação para ser tratada no lado do servidor Principais opções: CGI com C; Perl; Servelets de Java, JSP; ASP; PHP; etc. <HTML> Documentos HTML </HTML> Cliente Web Browser Leitura de Páginas Web Servidor Web Server Sites Web Página Web HTML + Scripts Pedido Resposta Páginas web / HTML
  • 8.
    Programação: lado clientevs lado servidor ▪ Em conclusão da figura anteriormente apresentada, pode-se considerar dois tipos de programação para páginas e sites web: ▪ Programação destinada a ser processada do lado do cliente, ou seja, pelo web browser; ▪ Programação destinada a ser processada do lado do servidor ou seja, pelo web server. •8
  • 9.
    Programação: lado clientevs lado servidor ▪ Em relação à programação destinada a ser processada do lado do cliente (web browser), as opções mais usadas são as seguintes: ▪ Javascript – uma linguagem de programação de scripts derivada da linguagem Java; ▪ Applets de Java – pequenas aplicações em Java para correrem nos browsers; ▪ VB Script – uma linguagem de programação de scripts derivada da linguagem Visual Basic; ▪ Componentes ActiveX – uma tecnologia da Microsoft para criar elementos que podem ser integrados em páginas web e outras aplicações. •9
  • 10.
    Programação: lado clientevs lado servidor ▪ Em relação à programação destinada a ser processada do lado do servidor (web server), as principais tecnologias são as seguintes: ▪ CGI (Commom Gateway Interface) – com scripts em C, Perl, etc. (tecnologia aberta e gratuita) ▪ Servlets de Java – aplicações em Java para correrem nos servidores; ▪ JSP (Java Server Pages) – scripts em Java para os servidores; ▪ ASP (Active Server Pages) – scripts em VBScript (e outras linguagens) para correrem nos servidores (uma tecnologia da Microsoft); ▪ PHP (Personal Home Pages) – scripts para correrem nos servidores (uma tecnologia de código aberto e com distribuição gratuita). •10
  • 11.
    Principais tecnologias deprogramação de páginas web ▪ As tecnologias de programação web mais divulgadas são as seguintes: ▪ A linguagem de programação Java ▪ A tecnologia ASP ▪ A tecnologia PHP •11
  • 12.
    A linguagem deprogramação Java ▪ Linguagem com todas as funcionalidades habituais, incluindo programação orientada a objetos. ▪ Foi desenvolvida por um grupo de investigadores da Sun Microsystems e tornada pública em 1995. ▪ Permite obter aplicações independentes da plataforma computacional, ou seja, podem ser criadas num sistema e correr num outro, por exemplo, aplicações criadas em Linux e que podem correr em Windows. •12
  • 13.
    A linguagem deprogramação Java ▪ O sucesso do Java deve-se também às diferentes derivações e opções que surgiram na área de programação para a Web ▪ As applets de Java ▪ A linguagem Javascript ▪ As servlets de Java ▪ A tecnologia JSP •13
  • 14.
    A tecnologia ASP ▪Active Server Pages ▪ É uma outra tecnologia de programação de scripts para execução nos servidores (em que a linguagem mais utilizada é VBScript). ▪ Surgiu como resposta da Microsoft na área da programação Web (em relação às tecnologias Java). •14
  • 15.
    A tecnologia PHP ▪Personal Home Pages ▪ Tecnologia de programação de scripts para execução no lado dos servidores. ▪ Numa fase inicial, a tecnologia PHP surgiu, pela autoria de Rasmus Lerdorf (cerca de 1995), como um conjunto de ferramentas de tipo CGI, escritas em C e Perl, para uso pessoal do autor. ▪ Devido a uma boa conceção, eficiência e relativa facilidade de uso, a tecnologia PHP rapidamente se divulgou entre os programadores de web sites; ▪ Tecnologia distribuída gratuitamente. •15
  • 16.
    A tecnologia PHP ▪A grande divulgação do PHP como tecnologia de informação para a Web deve-se também à sua excelente capacidade de articulação com: ▪ os servidores Web mais divulgados, designadamente: o Apache (de distribuição gratuita) e o IIS (Internet Information Server), comercializado pela Microsoft; ▪ sistemas de gestão de bases de dados de distribuição gratuita (MySQL) e também outros de natureza comercial. •16 ✓O trio constituído por PHP, Apache e MySQL constitui atualmente uma das combinações tecnológicas mais popularizadas para a criação de web sites com acesso a bases de dados.
  • 17.
    A tecnologia PHP ▪PHP é uma linguagem interpretada ▪ o código PHP é interpretado no servidor que envia a página. ▪ Quando se abre um documento HTML com um script em JavaScript, podemos pedir para ver o código desse script no nosso browser. ▪ Quando recebemos uma página web que tem um script PHP na sua origem, apenas podemos ver no nosso browser o código HTML que é gerado pelo código PHP. •17
  • 18.
  • 19.
    A tecnologia PHP ▪Representação da arquitetura e do funcionamento da tecnologia PHP ▪ Embora uma das principais razões de existirem scripts do lado dos servidores Web seja o acesso a bases de dados, estes scripts também podem existir por outros motivos. •19 Cliente Web Browser Internet Explorer, Mozzila FireFox Páginas web interativas Servidor Web Server Apache, IIS Interpretador de PHP Bases de dados Sistema de Gestão de Bases de Dados: MySQL, Oracle Pedido Resposta Ativação de um programa, acesso a uma base de dados. Resposta ao pedido
  • 20.
  • 21.
    Servidor web ▪ Parapodermos testar websites com código PHP precisamos de os alojar num servidor web que interprete o código e devolva as páginas web ao browser. ▪ Podemos usar um servidor web local, no nosso computador, em que os websites apenas serão acessíveis dentro da rede de área local ou usar contratar um serviço de alojamento web, onde os nossos websites estarão acessíveis a partir da internet. •21
  • 22.
    Servidor web ▪ Emfase de testes, o ideal é usar um servidor local, para isso sugere-se a utilização do pacote de software XAMPP, que consiste na instalação de um servidor web (Apache) e um servidor de bases de dados (MySQL), entre outras aplicações. ▪ O XAMPP é gratuito e pode ser encontrado no endereço: ▪ https://www.apachefriends.org/download.html ▪ A versão portable pode ser encontrada em: ▪ https://sourceforge.net/projects/xampp/files/XAMPP% 20Windows/7.2.22/xampp-portable-windows-x64- 7.2.22-0-VC15.zip/download •22
  • 23.
    Servidor web ▪ XAMPP ▪Painel de controlo •23
  • 24.
    Servidor web ▪ XAMPP ▪Painel de controlo • Para iniciar o servidor web acedemos ao painel de controlo do XAMPP, e clicamos em “Start”, na linha do servidor “Apache”. •24
  • 25.
    Servidor web ▪ XAMPP ▪Alojamento dos websites • Para podermos testar um website ou página web temos de a alojar no servidor, para isso colocamos os ficheiros na pasta “htdocs” que deverá estar dentro da pasta “xampp”, cuja localização depende das opções de instalação. •25
  • 26.
    Servidor web ▪ XAMPP ▪Acesso aos websites • Para aceder aos websites ou páginas web alojadas no servidor local abrimos um browser, como por exemplo o Google Chrome, e colocamos na barra de endereços – localhost/pasta-do-website • pasta-do-website é o nome da pasta em que colocamos as páginas web do website, que deve ficar dentro da pasta “htdocs”. • Se não colocarmos o nome da página web o servidor procura um documento chamado index.html ou index.php. Se não encontrar mostra o conteúdo da pasta. • Se colocarmos o nome de uma página o servidor vai abrir essa página. •26
  • 27.
  • 28.
    Vamos pensar… Nos algoritmosé necessário conhecer as convenções para a sua construção. No PHP também existem convenções para a sua utilização. •28
  • 29.
    Scripts ▪ São pedaçosde código de determinadas linguagens de programação executados no interior de programas e/ou de outras linguagens de programação ▪ Exemplos: ▪ JavaScript ▪ PHP •29 <html> <head> <title>Exemplo</title> </head> <body> <?php echo utf8_encode(’Olá, Eu sou um script PHP!’;) ?> </body> </html>
  • 30.
    PHP ▪ A tecnologiaPHP (Personal Home Pages) é uma tecnologia de programação de scripts para execução no lado dos servidores ▪ É uma linguagem de programação livre e muito utilizada para gerar conteúdo dinâmico na World Wide Web. ▪ Atualmente, a sigla PHP surge com o significado de PHP Hypertext Preprocessor •30
  • 31.
    Características ▪ Capacidade dearticulação com ▪ Servidores web (Apache, IIS) ▪ SGBD (MySql) ▪ Linguagem interpretada (no servidor que envia a página) ▪ Velocidade ▪ Portabilidade •31
  • 32.
    Principais convenções dalinguagem PHP ▪ Existe diferença entre maiúsculas e minúsculas (PHP é case sensitive). ▪ Os nomes das variáveis começam sempre com o carácter $. ▪ Os nomes das funções podem ser escritos em maiúsculas e minúsculas. ▪ O código PHP é delimitado pelos caracteres <?php … ?>. •32
  • 33.
    Principais convenções dalinguagem PHP ▪ Uma instrução termina com ponto e vírgula (;), no entanto em PHP há a exceção de uma instrução que termina junto a uma marca de fim de código ?> - aí, o ponto e virgula é opcional ▪ Um bloco de instruções é incluído dentro de chavetas {…} ▪ Os comentários inserem-se entre os sinais /* e */ ou, numa linha após um sinal //; ou ainda pode ser usado o carácter # para sinalizar um comentário desde esse ponto até ao final da linha ▪ A função “echo” permite escrever na página web, seja texto ou o valor de uma variável. •33
  • 34.
    Operadores da linguagemPHP ▪ Operadores Aritméticos: •34 Exemplos: <?php $x = 3 * 4; //$x é igual a 12 $a = ($b = 4) + 5; // $a é igual a 9 agora e $b foi configurado como 4. ?> Operador Significado Exemplo + Adição $a + $b - Subtração $a – $b * Multiplicação $a * $b / Divisão $a / $b % Resto divisão inteira $a % $b
  • 35.
    Operadores da linguagemPHP ▪ Operadores Aritméticos de atribuição: ▪ O operador básico de atribuição é o símbolo “=“. ▪ Calcula a expressão do lado direito da atribuição a atribui-a à variável do lado esquerdo. •35 Exemplo <?php $a = 3; $a += 5; // configura $a para 8, como se disséssemos: $a = $a + 5; ?> Operador Significado Exemplo += Adição seguida de atribuição $a += 3 -= Subtração seguida de atribuição $a -= 3 *= Multiplicação seguida de atribuição $a *= 3 /= Divisão seguida de atribuição $a /= 3 %= Resto de divisão inteira seguida de atribuição $a %= 3
  • 36.
    Exemplos <?php $a = 5; echo"Deve ser 5: " . $a++ . "<br />n"; echo "Deve ser 6: " . $a . "<br />n"; $a = 5; echo "Deve ser 6: " . ++$a . "<br />n"; echo "Deve ser 6: " . $a . "<br />n"; ?> Operadores da linguagem PHP ▪ Operadores de incremento e decremento: •36 Operador Significado ++ Incremento -- Decremento Exemplo Nome Resultado ++$a Pré-incremento Incrementa $a em uma unidade e depois devolve $a $a++ Pós-incremento Devolve $a e depois incrementa $a em uma unidade --$a Pré-incremento Decrementa $a em uma unidade e depois devolve $a $a-- Pós-decremento Devolve $a e depois decrementa $a em uma unidade
  • 37.
    Operadores da linguagemPHP ▪ Operadores lógicos: ▪ Os operadores lógicos operam valores lógicos e permitem construir expressões lógicas complexas. •37 Operador Significado ! Not – Negação lógica && And – Conjunção lógica || Or - Disjunção lógica Exemplo Nome Resultado !$a Negação lógica True se $a for False $a && $b Conjunção lógica True se $a e $b forem True $a || $b Disjunção lógica True se $a ou $b forem True Exemplo de Operadores lógicos: $a $b $a and $b $a or $b ~$a F F F F V F V F V V V F F V F V V V V F Tabela de verdade:
  • 38.
    Operadores da linguagemPHP ▪ Operadores relacionais ou comparativos: •38 Nota: Operador Significado == Igual a != Diferente de < Menor que > Maior que <= Menor ou igual que >= Maior ou igual que === Igualdade restrita !== Desigualdade restrita Operador Significado Descrição === Igualdade restrita Significa que as expressões comparadas devem ser iguais em valor e tipo de dados !== Desigualdade restrita Significa que as expressões comparadas devem ser diferentes em valor e/ou tipo de dados
  • 39.
    Operadores da linguagemPHP ▪ Exemplos de operadores relacionais ou comparativos •39 Exemplo Nome Resultado $a == $b Igual a Verdade se $a for igual a $b $a != $b Diferente de Verdade se $a for diferente de $b $a < $b Menor que Verdade se $a for menor que $b $a > $b Maior que Verdade se $a for maior que $b $a <= $b Menor ou igual que Verdade se $a for menor ou igual que $b $a >= $b Maior ou igual que Verdade se $a for maior ou igual que $b $a === $b Igualdade restrita Verdade se $a for igual a $b e forem ambos do mesmo tipo $a !== $b Desigualdade restrita Verdade se $a for diferente de $b ou se forem de tipos diferentes
  • 40.
    Operadores da linguagemPHP ▪ Operadores de junção de strings: •40 Exemplo <?php $b = "Bom "; $b .= "Dia!"; // configura $b para "Bom Dia!", como em $b = $b . "Dia!"; ?> Operador Significado . (ponto) Junção de strings
  • 41.
    Elementos básicos dalinguagem PHP: tipos de dados, variáveis e constantes. •41
  • 42.
    Tipos de dadosem PHP ▪ Em PHP, apesar de não existirem palavras próprias para definir os tipos de dados a que as variáveis pertencem, existem, implicitamente, os seguintes principais tipos de dados primitivos: ▪ Booleano ou lógico (boolean); ▪ Número inteiro (integer); ▪ Número real (float); ▪ Cadeia de caracteres (string). •42
  • 43.
    Tipos de dadosem PHP ▪ Para além dos referidos tipos primitivos, em PHP existem outros tipos de dados diferentes: ▪ array; ▪ object; ▪ resource (recurso) e ▪ o tipo especial NULL (correspondente a um valor nulo). •43
  • 44.
    Booleano ou lógico ▪Um dado booleano – boolean - expressa um valor lógico que pode ser True ou False. ▪ Estes valores lógicos podem ser escritos em maiúsculas ou minúsculas. ▪ Exemplos: ▪ $b1 = True; // Valor lógico True ▪ $b2 = False; // Valor lógico False •44
  • 45.
    Número inteiro ▪ Uminteiro – integer – é um número do conjunto Z (conjunto dos números inteiros positivos e negativos). ▪ Exemplos: ▪ $a = 1234; # Número positivo ▪ $b = -123; # Número negativo •45
  • 46.
    Número real ▪ Umnúmero real – float – é um número do conjunto R (conjunto dos números reais) ▪ Exemplo: ▪ $a = 1.234; # Número real 1,234 •46
  • 47.
    Cadeia de caracteres ▪Uma cadeia de caracteres – string – consiste numa sequência de caracteres. ▪ As cadeias de caracteres em PHP não têm limite de comprimento. ▪ Uma cadeia pode ser especificada de três formas diferentes: ▪ A - entre plicas; ▪ B - entre aspas; ▪ C - entre marcas. •47
  • 48.
    Cadeia de caracteres ▪A – Entre Plicas ▪ Forma mais simples ▪ Para especificar uma plica dentro de uma cadeia é necessário precedê-la de uma barra invertida. ▪ Em todas as outras situações, a barra invertida é impressa como parte da cadeia de caracteres. ▪ Exemplos: • Echo ‘Esta é uma cadeia simples’; // Imprime: Esta é uma cadeia simples • Echo ‘Ela disse ’olá’ e saiu.’; // Imprime: Ela disse ‘olá’ e saiu. • Echo ‘Pretende apagar C:*.*?’; // Imprime: Pretende apagar C:*.*? •48
  • 49.
    Cadeia de caracteres ▪B – Entre Aspas ▪ A maior vantagem de especificar cadeias entre aspas é o facto dos nomes das variáveis assumirem o verdadeiro valor da variável. ▪ No seguinte exemplo, o valor da variável $meuNome é substituído na cadeia impressa: • $meuNome = ‘José’; • Echo “Chamo-me $meuNome”; #Imprime: Chamo- me José •49
  • 50.
    Cadeia de caracteres ▪C – Entre Marcas ▪ A cadeia é delimitada no início pela marca “<<<“ seguida de um identificador, e no fim pelo mesmo identificador colocado no início de uma nova linha. ▪ Exemplo: • $str = <<<identificador • Exemplo de uma cadeia que se estende por diversas linhas usando a sintaxe entre marcas. • identificador; •50
  • 51.
    Utilização de variáveisem PHP ▪ Variável é um dado que pode ser alterado ao longo do programa/algoritmo. ▪ Surgem através de identificadores, ou seja, nomes que as identificam. ▪ Exemplos: ▪ <?php //início do código PHP ▪ $nome = “João”; //variável $nome ▪ $Nome = “Júlia”; //variável $Nome ▪ echo “$nome, $Nome” //Imprimir: João, Júlia ▪ ?> //fim do código PHP •51
  • 52.
    Utilização de variáveisem PHP ▪ As variáveis em PHP são representadas por um cifrão seguido do nome da variável. ▪ O nome da variável tem que começar com uma letra ou um símbolo de underscore “_”. ▪ Pode seguir-se uma sequência de qualquer destes símbolos ou qualquer algarismo. ▪ O PHP distingue maiúsculas de minúsculas nos nomes das variáveis (PHP é case sensitive). •52
  • 53.
    Utilização de variáveisem PHP ▪ Em PHP não existe declaração prévia de variáveis. ▪ Uma variável passa a existir quando o seu nome é escrito pela primeira vez. ▪ Normalmente, isso acontece numa instrução de atribuição, em que uma variável recebe um determinado valor; por exemplo: $x=10. •53
  • 54.
    Variáveis pré-definidas ▪ OPHP define um conjunto de variáveis que contêm informação relevante sobre o ambiente e o programa em curso. •54 Variável Descrição $GLOBALS Contém uma referência para cada variável que está disponível de forma global no programa em curso. $_SERVER Variáveis da responsabilidade do servidor de Internet, nomeadamente o endereço IP e o porto do cliente. $_GET Variáveis obtidas por meio do comando HTTP GET. $_POST Variáveis obtidas por meio do comando HTTP POST. $_COOKIE Variáveis obtidas a partir dos cookies, via HTTP. $_FILES Variáveis respeitantes ao carregamento de ficheiros. $_ENV Variáveis de ambiente. $_REQUEST Variáveis fornecidas pelo utilizador, logo de baixo nível de segurança. $_SESSION Variáveis associadas à sessão do programa atual.
  • 55.
    Utilização de variáveisem PHP ▪ O tipo de dados de uma variável é determinado pelo último valor que lhe for atribuído. ▪ Uma variável pode receber um valor de um tipo e, em seguida, receber uma valor de um outro tipo completamente diferente. ▪ Exemplo: •55 Nota: A função gettype() indica o tipo de dados que cada variável assumiu. <?php $x = 10; echo 'Valor de $x: '.$x.'<br>'; echo gettype($x).'<br>'; $b = ($x == 10); echo 'Valor de $b: '.$b.'<br>'; echo gettype($b).'<br>'; $x = 1.5; echo 'Valor de $x: '.$x.'<br>'; echo gettype($x).'<br>'; $x = "Ana Dias"; echo 'Valor de $x: '.$x.'<br>'; echo gettype($x).'<br>'; echo gettype($z).'<br>'; ?>
  • 56.
    Constantes em PHP ▪Uma constante é um dado que permanece inalterável do início ao fim do programa. ▪ Exemplos: ▪ define (“PI”, 3.1415926); ▪ define (“CUMPRIMENTO”, “Olá Mundo”); •56
  • 57.
    Constantes em PHP ▪Características ▪ Os nomes das constantes não são precedidos de cifrão ($); ▪ As constantes são definidas através da função define(); ▪ As constantes permanecem inalteradas ao longo de todo o código; ▪ As constantes não podem ser redefinidas; ▪ As constantes costumam ser escritas com maiúsculas. •57