Programação
Web com
PHP 7.x
Prof. Me. Norton Guimarães
norton.guimaraes@ifgoiano.edu.br
2
Agenda
 Parte I
◘ Histórico
◘ Familiarizando com o PHP
◘ Tipos de Dados, Operadores, Estruturas de
Controle, Funções, Escopo de Variáveis, Include,
Arrays
◘ Conceitos de Orientação a Objetos
 Parte II
◘ Trabalhando com Arquivos
◘ Trabalhando com OO
◘ Formulários HTML
◘ Cookies e Sessões
◘ Outros componentes e funções PHP
3
PARTE I
Noções da linguagem PHP e Orientação a Objetos
4
Histórico
 O PHP (um acrônimo
recursivo para PHP:
Hypertext Preprocessor) é
uma linguagem
interpretada.
 O PHP é sucessor do
chamado PHP/FI. PHP/FI foi
criado por Rasmus Lerdorf
em 1995.
 O PHP 7 foi lançado em
novembro de 2015.
 Atualmente a versão do
PHP é o 7.2.x
5
O mascote
 O mascote do PHP é o Elefante.
6
Livros sobre PHP
7
Livros sobre PHP
8
Softwares Necessários
 Requisitos básicos:
◘ Servidor Apache (apache.org);
◘ Linguagem PHP (php.net);
◘ Servidor MySQL (mysql.com);
 Tudo isso é instalado facilmente com o
Lamp (Linux) ou Wamp (Windows).
 Existe a junção dos dois anteriores
Xampp.
9
Xampp - Download
◘ http://www.apachefriends.org/pt_br/xampp-w
indows.html
10
Conhecendo o XAMPP – Painel
de Controle
11
Conhecendo o Xampp –
Diretório base
 O diretório base é o C:/xampp/htdocs
12
Conhecendo o XAMPP – Testar
o Servidor
 Para acessar o Xampp: http://localhost ou http://127.0.0.1
13
Familiarizando com o PHP
14
O ciclo das páginas
Figura – Como funciona o PHP
Fonte: http://locobit.blogspot.com/2011/01/apresentando-php.html
15
Olá Mundo!
16
Comentários
 Simples
◘ Uso do // para
comentar uma
linha
 Várias Linhas
◘ Uso de /* e */
para comentar
várias linhas.
17
Variável no PHP
 Toda variável no PHP é precedida de $.
 A variável no PHP recebe qualquer valor.
 Os nomes de variável no PHP fazem
distinção entre maiúsculas e minúsculas.
18
Exemplo
19
Uso das Aspas
 Aspas Simples:
◘ Utilizada para
imprimir
exatamente o texto
contido entre as
aspas.
 Aspas Duplas:
◘ Utilizado para
imprimir com os
valores de variáveis
e caracteres de
escape.
20
Caracteres de Escape
 Arquivo Texto
 n : Nova linha.
 r : Retorno de Carro.
 t : Tabulação horizontal.
  : A própria barra ().
 $ : O símbolo $.
 ' : Aspas simples.
 ” : Aspas duplas.
21
Operadores
 = : atribuição simples
 += : atribuição com adição
 -= : atribuição com subtração
 *= : atribuição com multiplicação
 /= : atribuição com divisão
 %= : atribuição com módulo
 .= : atribuição com concatenação
 ++ : Incremento
 -- : Decremento
22
Operadores
 Exemplo:
23
Operadores Lógicos
 And : e lógico
 Or : ou lógico
 Xor : ou exclusivo
 ! : não (inversão)
24
Comparação
 == : igual a
 != : Diferente de
 < : Menor que
 > : Maior que
 <= : Menor ou igual a
 >= : Maior ou igual a
25
Estrutura de Seleção
26
Comando IF
27
Comando SWITCH
28
Lista de Exercícios 01
1)Calcular a nota necessária para passar por média no 4º
bimestre. Dados: notas dos 3 bimestres.
2)Calcular a quantdade de dinheiro gasta por um fumante.
Dados: o número de anos que ele fuma, o nº de
cigarros fumados por dia e o preço de uma carteira.
3)Fazer um algoritmo que receba dois valores (A e B)
numéricos, calcule e imprima:
- A soma de A e B
- A multplicação de A e B
- A divisão de A por B.
4)Ler dois números inteiros, X e Y, e imprimir o quociente e
o resto da divisão inteira entre eles.
5)Ler três valores e determinar o maior dentre eles.
29
Estrutura de Repetição
30
Comando WHILE
31
Comando DO..WHILE
32
Comando FOR
33
Lista de Exercícios 02 - While
 1) Exiba 10 linhas de um texto qualquer.
 2) Exiba a soma de todos os números de
0 à 10.
 3) Exiba todos os números pares de 0 à
100;
 4) Exiba todos os números ímpares de 0
à 100.
 5) Calcule quanto um investidor terá
aplicando 350 por mês a juros de 0,60%
durante 30 anos (Juros Compostos).
34
Lista de Exercício 3 - For
 Refaça todos os itens da Lista de Exercício
2 e utilize o comando de repetição FOR.
35
Funções, Procedimentos e Estruturas
36
Funções
 Realiza uma tarefa específica
37
Include
 A diretiva include é responsável por
inserir e interpretar o código PHP,
contido em um arquivo externo.
38
Arrays
 Simples
 Multi-Dimensionais
39
Lista de Exercícios 04
 1) Defina um vetor de 365 elementos e
inicialize todos seus elementos com o valor
numérico 0.
 2) Defina um vetor de 12 elementos e,
inicialize os seis primeiros com o valor
lógico VERDADEIRO e os seis restantes com
o valor lógico FALSO.
 3) Defina um vetor para conter os nomes
dos dias da semana. Faça as atribuições
considerando que o elemento de índice um
(1) é o Domingo. Em seguida mostre na tela
todo o vetor.
40
Lista de Exercícios 04 cont..
 4) Preencha uma matriz de 10 linhas por
15 colunas com números aleatórios de
1000 a 2000. Em seguida exiba todo o
seu conteúdo.
41
Lista de Exercícios 04 cont..
 5)Armazene numa matriz 12x2 de
inteiros o número do mês com a
quantidade de dias que o mês possui.
Para fevereiro considere 29 dias.
Armazene num vetor os nomes dos
meses. Em seguida, pergunte ao usuário
qual o número do mês que ele quer
consultar. Após a sua resposta exiba o
nome do mês e a quantidade de dias que
ele possui.
42
Orientação a Objetos
43
Objeto
◘ A instância de uma classe. Um objeto é
capaz de armazenar estados através de seus
atributos e reagir a mensagens enviadas a
ele, assim como se relacionar e enviar
mensagens a outros objetos.
◘ No PHP a criação de objetos é através da
palavra reservada new.
44
Classe
◘ Representa um conjunto de objetos com
características afins. Uma classe define o
comportamento dos objetos através de seus
métodos, e quais estados ele é capaz de
manter através de seus atributos.
◘ No PHP:
◘ atributos de uma classe são definidos através
da declaração “var”.
◘ métodos são definidos através de funções.
◘ Para acessar atributos dentro do método, você
deve usar o operador “$this->” precedendo o
atributo.
45
Exemplo de Classe
46
Visibilidade
47
Herança
48
Interfaces
49
PARTE II
Conceitos de Programação (Funcionamento, Boas Práticas
de Programação); Sessões e Cookies (Criação e exclusão
de Cookies)
50
Session - Sessão
 Suporte a sessões no PHP consiste de
uma maneira de preservar dados através
de acessos subsequentes.
51
Cookies
 Cookies são um mecanismo para guardar
dados no navegador remoto. Ele é bom
para:
◘ Verificar se um usuário já logou no site (isto
é, validar se o cookie existe no computador)
◘ Verificar se um usuário já votou na enquete
do site ( || )
◘ Carrinho de compras na hora de armazenar
os produtos comprados
52
Cookies Exemplo

53
Excluir Cookies Exemplo

54
Formulário em PHP
 Suporta Método Get e Post
 Todo elemento HTML tem que ter “ID” e
“Nome” definidos.
55
Padrão de Nomenclatura
 Botão – btnEnviar
 Formulário – frmLogin
 Texto – txtLogin
 Checkbox – chkPermite
 Seleção – cboEstado
 RadioButton – rdbSexo
 Label - lblNome
56
Métodos PHP
 Método Post
◘ As informações do Formulário HTML são
encapsulados no Cabeçalho do Protocolo
HTTP.
◘ Mais Seguro
◘ Mais lento
◘ Utiliza a Tag:
57
Métodos PHP
 Método Get
◘ As informações do Formulário HTML são
exibidas na URL.
◘ Menos Seguro
◘ Mais rápido
◘ Utiliza a Tag:
58
Nosso Padrão
59
Manipulação do HTML com
JavaScript.
60
61
Exercícios
 Construa um Formulário (tPessoa.php)
com os seguintes Campos:
◘ ID – Inteiro – size: 2;
◘ Nome – String – size: 20;
◘ Idade – Inteiro – size: 3;
◘ Sexo – String (Masculino e Feminino);
◘ Endereço – String – size: 200
◘ Botão Enviar e Limpar
 Construa uma Classe Pessoa para o
formulário
 Utilize o Padrão apresentado
62
PARTE III
Manipulação de Banco de dados (Como Acessar
Bancos de dados, Execução de Consultas,
Tratamento de Erros, Recuperação de Registros).
63
Linguagem SQL
 SELECT
 INSERT
 UPDATE
 DELETE
64
Linguagem SQL - SELECT
 SELECT *
◘ FROM Aluno
 SELECT *
◘ FROM Aluno
◘ WHERE idAluno = 1
 SELECT idAluno, nomeAluno
◘ FROM Aluno
◘ GROUP BY nomeAluno
 SELECT count(idAluno)
◘ FROM Aluno
◘ GROUP BY idAluno
65
66
Linguagem SQL - INSERT
 INSERT INTO
◘ Aluno (nomeAluno)
◘ VALUES (“Maria Aparecida”)
67
Função no PHP - Incluir
68
Linguagem SQL - UPDATE
 UPDATE Aluno
◘ SET nomeAluno = “Maria José”
◘ WHERE idAluno = 1
69
Função no PHP - alterar
70
Linguagem SQL - DELETE
 DELETE FROM Aluno
◘ WHERE idAluno = 1
71
72
Funções MySql no PHP
 mysql_connect(<host>,<user>,<pass>)
◘ Abre a conexão no servidor MySQL
 mysql_select_db(<banco>)
◘ Seleciona o banco de dados
 mysql_query(<sql>)
◘ Executa o comando SQL
 mysql_close()
◘ Fecha a conexão
73
74
Tratamento de Erro no PHP
 Utiliza o bloco Try-Catch
 Utiliza a Classe Exception
◘ getMessage() - Mensagem de erro.
◘ getCode() - Código do erro.
◘ getFile() - Retorna o path do arquivo onde a
exceção foi gerada.
◘ getLine() - Retorna o número da linha onde a
exceção foi gerada.
75
Tratamento de Erro no PHP
 Exemplo
76
PARTE VI
Upload de arquivos; Serialização de Dados; Cabeçalhos e
E-mail (Controle de Cabeçalhos do HTTP, Autenticação com
HTTP, Envio de E-mails);
77
Upload de Arquivo
 Altera a tag FORM do HTML
78
Upload de Arquivo
 Exemplo de Upload
79
Serialização de Dados
 É o processo de salvar dados de um
objeto, mas não obrigatoriamente um
objeto, em algum lugar ou transmiti-lo
pela rede, num formato binário eu de
texto.
 Para isso, utilizamos as funções do PHP
“serialize()” e “unserialize()”.
80
Serialização
 A função serialize() retorna uma string
contendo uma representação byte-stream
de qualquer valor que pode ser
armazenado pelo PHP.
81
Deserializar
 A função unserialize() pode utilizar essa
string para recriar os valores originais da
variável.
82
E-mail no PHP com Mail()
86
Bons estudos!

Programação Web com PHP 7.x

  • 1.
    Programação Web com PHP 7.x Prof.Me. Norton Guimarães norton.guimaraes@ifgoiano.edu.br
  • 2.
    2 Agenda  Parte I ◘Histórico ◘ Familiarizando com o PHP ◘ Tipos de Dados, Operadores, Estruturas de Controle, Funções, Escopo de Variáveis, Include, Arrays ◘ Conceitos de Orientação a Objetos  Parte II ◘ Trabalhando com Arquivos ◘ Trabalhando com OO ◘ Formulários HTML ◘ Cookies e Sessões ◘ Outros componentes e funções PHP
  • 3.
    3 PARTE I Noções dalinguagem PHP e Orientação a Objetos
  • 4.
    4 Histórico  O PHP(um acrônimo recursivo para PHP: Hypertext Preprocessor) é uma linguagem interpretada.  O PHP é sucessor do chamado PHP/FI. PHP/FI foi criado por Rasmus Lerdorf em 1995.  O PHP 7 foi lançado em novembro de 2015.  Atualmente a versão do PHP é o 7.2.x
  • 5.
    5 O mascote  Omascote do PHP é o Elefante.
  • 6.
  • 7.
  • 8.
    8 Softwares Necessários  Requisitosbásicos: ◘ Servidor Apache (apache.org); ◘ Linguagem PHP (php.net); ◘ Servidor MySQL (mysql.com);  Tudo isso é instalado facilmente com o Lamp (Linux) ou Wamp (Windows).  Existe a junção dos dois anteriores Xampp.
  • 9.
    9 Xampp - Download ◘http://www.apachefriends.org/pt_br/xampp-w indows.html
  • 10.
    10 Conhecendo o XAMPP– Painel de Controle
  • 11.
    11 Conhecendo o Xampp– Diretório base  O diretório base é o C:/xampp/htdocs
  • 12.
    12 Conhecendo o XAMPP– Testar o Servidor  Para acessar o Xampp: http://localhost ou http://127.0.0.1
  • 13.
  • 14.
    14 O ciclo daspáginas Figura – Como funciona o PHP Fonte: http://locobit.blogspot.com/2011/01/apresentando-php.html
  • 15.
  • 16.
    16 Comentários  Simples ◘ Usodo // para comentar uma linha  Várias Linhas ◘ Uso de /* e */ para comentar várias linhas.
  • 17.
    17 Variável no PHP Toda variável no PHP é precedida de $.  A variável no PHP recebe qualquer valor.  Os nomes de variável no PHP fazem distinção entre maiúsculas e minúsculas.
  • 18.
  • 19.
    19 Uso das Aspas Aspas Simples: ◘ Utilizada para imprimir exatamente o texto contido entre as aspas.  Aspas Duplas: ◘ Utilizado para imprimir com os valores de variáveis e caracteres de escape.
  • 20.
    20 Caracteres de Escape Arquivo Texto  n : Nova linha.  r : Retorno de Carro.  t : Tabulação horizontal.  : A própria barra ().  $ : O símbolo $.  ' : Aspas simples.  ” : Aspas duplas.
  • 21.
    21 Operadores  = :atribuição simples  += : atribuição com adição  -= : atribuição com subtração  *= : atribuição com multiplicação  /= : atribuição com divisão  %= : atribuição com módulo  .= : atribuição com concatenação  ++ : Incremento  -- : Decremento
  • 22.
  • 23.
    23 Operadores Lógicos  And: e lógico  Or : ou lógico  Xor : ou exclusivo  ! : não (inversão)
  • 24.
    24 Comparação  == :igual a  != : Diferente de  < : Menor que  > : Maior que  <= : Menor ou igual a  >= : Maior ou igual a
  • 25.
  • 26.
  • 27.
  • 28.
    28 Lista de Exercícios01 1)Calcular a nota necessária para passar por média no 4º bimestre. Dados: notas dos 3 bimestres. 2)Calcular a quantdade de dinheiro gasta por um fumante. Dados: o número de anos que ele fuma, o nº de cigarros fumados por dia e o preço de uma carteira. 3)Fazer um algoritmo que receba dois valores (A e B) numéricos, calcule e imprima: - A soma de A e B - A multplicação de A e B - A divisão de A por B. 4)Ler dois números inteiros, X e Y, e imprimir o quociente e o resto da divisão inteira entre eles. 5)Ler três valores e determinar o maior dentre eles.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
    33 Lista de Exercícios02 - While  1) Exiba 10 linhas de um texto qualquer.  2) Exiba a soma de todos os números de 0 à 10.  3) Exiba todos os números pares de 0 à 100;  4) Exiba todos os números ímpares de 0 à 100.  5) Calcule quanto um investidor terá aplicando 350 por mês a juros de 0,60% durante 30 anos (Juros Compostos).
  • 34.
    34 Lista de Exercício3 - For  Refaça todos os itens da Lista de Exercício 2 e utilize o comando de repetição FOR.
  • 35.
  • 36.
    36 Funções  Realiza umatarefa específica
  • 37.
    37 Include  A diretivainclude é responsável por inserir e interpretar o código PHP, contido em um arquivo externo.
  • 38.
  • 39.
    39 Lista de Exercícios04  1) Defina um vetor de 365 elementos e inicialize todos seus elementos com o valor numérico 0.  2) Defina um vetor de 12 elementos e, inicialize os seis primeiros com o valor lógico VERDADEIRO e os seis restantes com o valor lógico FALSO.  3) Defina um vetor para conter os nomes dos dias da semana. Faça as atribuições considerando que o elemento de índice um (1) é o Domingo. Em seguida mostre na tela todo o vetor.
  • 40.
    40 Lista de Exercícios04 cont..  4) Preencha uma matriz de 10 linhas por 15 colunas com números aleatórios de 1000 a 2000. Em seguida exiba todo o seu conteúdo.
  • 41.
    41 Lista de Exercícios04 cont..  5)Armazene numa matriz 12x2 de inteiros o número do mês com a quantidade de dias que o mês possui. Para fevereiro considere 29 dias. Armazene num vetor os nomes dos meses. Em seguida, pergunte ao usuário qual o número do mês que ele quer consultar. Após a sua resposta exiba o nome do mês e a quantidade de dias que ele possui.
  • 42.
  • 43.
    43 Objeto ◘ A instânciade uma classe. Um objeto é capaz de armazenar estados através de seus atributos e reagir a mensagens enviadas a ele, assim como se relacionar e enviar mensagens a outros objetos. ◘ No PHP a criação de objetos é através da palavra reservada new.
  • 44.
    44 Classe ◘ Representa umconjunto de objetos com características afins. Uma classe define o comportamento dos objetos através de seus métodos, e quais estados ele é capaz de manter através de seus atributos. ◘ No PHP: ◘ atributos de uma classe são definidos através da declaração “var”. ◘ métodos são definidos através de funções. ◘ Para acessar atributos dentro do método, você deve usar o operador “$this->” precedendo o atributo.
  • 45.
  • 46.
  • 47.
  • 48.
  • 49.
    49 PARTE II Conceitos deProgramação (Funcionamento, Boas Práticas de Programação); Sessões e Cookies (Criação e exclusão de Cookies)
  • 50.
    50 Session - Sessão Suporte a sessões no PHP consiste de uma maneira de preservar dados através de acessos subsequentes.
  • 51.
    51 Cookies  Cookies sãoum mecanismo para guardar dados no navegador remoto. Ele é bom para: ◘ Verificar se um usuário já logou no site (isto é, validar se o cookie existe no computador) ◘ Verificar se um usuário já votou na enquete do site ( || ) ◘ Carrinho de compras na hora de armazenar os produtos comprados
  • 52.
  • 53.
  • 54.
    54 Formulário em PHP Suporta Método Get e Post  Todo elemento HTML tem que ter “ID” e “Nome” definidos.
  • 55.
    55 Padrão de Nomenclatura Botão – btnEnviar  Formulário – frmLogin  Texto – txtLogin  Checkbox – chkPermite  Seleção – cboEstado  RadioButton – rdbSexo  Label - lblNome
  • 56.
    56 Métodos PHP  MétodoPost ◘ As informações do Formulário HTML são encapsulados no Cabeçalho do Protocolo HTTP. ◘ Mais Seguro ◘ Mais lento ◘ Utiliza a Tag:
  • 57.
    57 Métodos PHP  MétodoGet ◘ As informações do Formulário HTML são exibidas na URL. ◘ Menos Seguro ◘ Mais rápido ◘ Utiliza a Tag:
  • 58.
  • 59.
    59 Manipulação do HTMLcom JavaScript.
  • 60.
  • 61.
    61 Exercícios  Construa umFormulário (tPessoa.php) com os seguintes Campos: ◘ ID – Inteiro – size: 2; ◘ Nome – String – size: 20; ◘ Idade – Inteiro – size: 3; ◘ Sexo – String (Masculino e Feminino); ◘ Endereço – String – size: 200 ◘ Botão Enviar e Limpar  Construa uma Classe Pessoa para o formulário  Utilize o Padrão apresentado
  • 62.
    62 PARTE III Manipulação deBanco de dados (Como Acessar Bancos de dados, Execução de Consultas, Tratamento de Erros, Recuperação de Registros).
  • 63.
    63 Linguagem SQL  SELECT INSERT  UPDATE  DELETE
  • 64.
    64 Linguagem SQL -SELECT  SELECT * ◘ FROM Aluno  SELECT * ◘ FROM Aluno ◘ WHERE idAluno = 1  SELECT idAluno, nomeAluno ◘ FROM Aluno ◘ GROUP BY nomeAluno  SELECT count(idAluno) ◘ FROM Aluno ◘ GROUP BY idAluno
  • 65.
  • 66.
    66 Linguagem SQL -INSERT  INSERT INTO ◘ Aluno (nomeAluno) ◘ VALUES (“Maria Aparecida”)
  • 67.
  • 68.
    68 Linguagem SQL -UPDATE  UPDATE Aluno ◘ SET nomeAluno = “Maria José” ◘ WHERE idAluno = 1
  • 69.
  • 70.
    70 Linguagem SQL -DELETE  DELETE FROM Aluno ◘ WHERE idAluno = 1
  • 71.
  • 72.
    72 Funções MySql noPHP  mysql_connect(<host>,<user>,<pass>) ◘ Abre a conexão no servidor MySQL  mysql_select_db(<banco>) ◘ Seleciona o banco de dados  mysql_query(<sql>) ◘ Executa o comando SQL  mysql_close() ◘ Fecha a conexão
  • 73.
  • 74.
    74 Tratamento de Errono PHP  Utiliza o bloco Try-Catch  Utiliza a Classe Exception ◘ getMessage() - Mensagem de erro. ◘ getCode() - Código do erro. ◘ getFile() - Retorna o path do arquivo onde a exceção foi gerada. ◘ getLine() - Retorna o número da linha onde a exceção foi gerada.
  • 75.
    75 Tratamento de Errono PHP  Exemplo
  • 76.
    76 PARTE VI Upload dearquivos; Serialização de Dados; Cabeçalhos e E-mail (Controle de Cabeçalhos do HTTP, Autenticação com HTTP, Envio de E-mails);
  • 77.
    77 Upload de Arquivo Altera a tag FORM do HTML
  • 78.
    78 Upload de Arquivo Exemplo de Upload
  • 79.
    79 Serialização de Dados É o processo de salvar dados de um objeto, mas não obrigatoriamente um objeto, em algum lugar ou transmiti-lo pela rede, num formato binário eu de texto.  Para isso, utilizamos as funções do PHP “serialize()” e “unserialize()”.
  • 80.
    80 Serialização  A funçãoserialize() retorna uma string contendo uma representação byte-stream de qualquer valor que pode ser armazenado pelo PHP.
  • 81.
    81 Deserializar  A funçãounserialize() pode utilizar essa string para recriar os valores originais da variável.
  • 82.
    82 E-mail no PHPcom Mail()
  • 83.