Você está na página 1de 113

Desenvolvimento Web com

PHP

Pós-Graduação em Desenvolvimento
Web
Apresentação
Apresentação

• Professor: Thyago Maia Tavares de Farias

– Doutorando em Computação pelo Cin / UFPE


– Mestre em Informática pelo PPGI / DI / UFPB
– Bacharel em Ciência da Computação – UFPB
– Currículo Lattes: http://lattes.thyagomaia.net
– E-Mail: thyagomaia@gmail.com

3
Apresentação

• Foco da disciplina

 Apresentar os fundamentos do paradigma


orientado a objetos aplicado em PHP (PHP OO);

4
Apresentação

• Referência Bibliográfica

 PHP – Programando
com Orientação a
Objetos

 Autor: Pablo Dall’Oglio

 Editora: Novatec

5
Apresentação

• Sites auxiliares:

– http://facebook.com/profthyagomaia
– http://twitter.com/thyagomaia
– http://www.slideshare.net/thyagomaia
– http://www.php.net
– http://www.w3schools.com
– http://www.codeacademy.com.br

6
Apresentação

• Aplicações que serão utilizados no curso:

– Notepad++
• https://notepad-plus-plus.org/

– Xampp
• https://www.apachefriends.org/pt_br/index.html

7
Apresentação

• Avaliação:
– Miniprojeto: Desenvolvimento de uma aplicação
PHP orientada a objetos;
• Trabalho em Grupo (3 integrantes);
• Tema Livre (Deverá ser pré-aprovado pelo professor);
• Critérios de Avaliação:
– Interface, usabilidade, aplicação das competências e
habilidades adquiridas durante o curso, aplicação de pelo
menos um padrão de projeto, organização do Projeto e
apresentação ao professor (até 15 min.);
• Exercícios durante as aulas:
– Apresentar resolução na última aula;
8
Paradigmas de Programação
Paradigmas de Programação

 Uma linguagem de
programação (LP) = Notação
formal para descrição de
algoritmos em um
computador;

 É necessário entender as
organizações das LP, com
ênfase na compreensão dos
seus conceitos abstratos e
dos seus elementos de
representação;
10
Paradigmas de Programação

 Cada LP pode se relacionar com um método


de projeto específico;

 Cada linguagem de programação pode forçar


um certo estilo de programação;

 Tais estilos são chamados de paradigmas de


programação;
11
Paradigmas de Programação

 Principais paradigmas:

 Programação Procedural
 Programação Orientada a Objetos

12
Paradigmas de Programação

 Programação Procedural (Estruturado):


 Estilo de programação convencional (descrita no
aprendizado em algoritmos);
 Programas são decompostos em “passos” de
processamento;
 Rotinas são usadas na modularização de passos
específicos;

 Ex.: Pascal e C;

13
Paradigmas de Programação

 Programação Procedural:
program Teste;
var
a, b:integer;
begin
writeln('Digite um número para 7');
readln(a); writeln('Digite o número para 6');
readln(b);
if (a > b) then { Se 7 é maior que 6 então }
writeln('7 é maior que 6')
else { Senão… }
if (a < b) then
writeln('6 é maior que 7')
else
writeln('6 é igual à 7');
end.

14
Paradigma de Programação
Orientado a Objetos
Paradigma de Programação OO

 O paradigma OO propõe que a solução de


qualquer problema pode ser obtida seguindo
estas etapas:

 Procurar e implementar classes existentes no problema;


 Determinar as características e responsabilidades de cada
classe;
 Instanciar objetos de cada classe;
 Estabelecer como ocorrerá a interação entre os objetos;

16
Paradigma de Programação OO

 O modelo OO é formado por quatro


componentes básicos:

 Objetos;
 Mensagens;
 Métodos;
 Classes;

17
Paradigma de Programação OO
 Classe
 Estrutura de dados que possui atributos (variáveis de
classe) e métodos (funções PHP);
 Descreve as propriedades e comportamentos de objetos;
 Modelo ou template para objetos;

 Objeto
 Originada com base em uma classe;
 A partir de um objeto, temos “uma cópia” dos atributos e
métodos de uma classe;
 Interagem no sistema e armazenam dados;
18
Paradigma de Programação OO
 Exemplo 1 – Implementação de uma classe em PHP:
// Arquivo Produto.php

<?php

class Produto
{
// Classe com 4 atributos
public $codigo;
public $descricao;
public $preco;
public $quantidade;
}

?>
19
Paradigma de Programação OO
 Exemplo 1 – Instanciando um objeto da classe
Produto:
// Arquivo testeObjeto.php

<?php
// Incluindo a classe criada anteriormente
require_once ‘classes/Produto.php’;

// Criando um objeto
$produto = new Produto();

// Atribuindo valores aos atributos


$produto->codigo = 4001;
$produto->descricao = ‘CD – AC/DC’;
?>
20
Paradigma de Programação OO
 Exemplo 2 – A classe Produto com atributos e um
método:
// Arquivo Produto.class.php
<?php
class Produto
{
// Classe com 4 atributos
public $codigo;
public $descricao;
public $preco;
public $quantidade;

21
Paradigma de Programação OO
 Exemplo 2 – A classe Produto com atributos e um
método:
// Arquivo Produto.class.php

public function imprimeEtiqueta()


{
echo ‘Código: ’ . $this->codigo .
‘<br>’;
echo ‘Descrição: ’ . $this-
>descricao . ‘<br>’;
}
}

?>
22
Paradigma de Programação OO
 Exemplo 2 – Instanciando um objeto da classe
Produto e executando um método do mesmo:
// Arquivo testeObjeto.php

<?php
// Incluindo a classe criada anteriormente
require_once ‘classes/Produto.php’;
// Criando um objeto
$produto = new Produto();
// Atribuindo valores aos atributos
$produto->codigo = 4001;
$produto->descricao = ‘CD – AC/DC’;

$produto->imprimeEtiqueta();
?>
23
PHP OO – Construtores e
Destrutores
Construtor

 Método especial utilizado para definir o


comportamento inicial de um objeto;

 Muito utilizado para inicializar atributos


(variáveis de classe);

 Executado automaticamente no momento da


instância de um objeto (uso da palavra
reservada new);
25
Construtor

 Sintaxe:

function __construct($p_1, $p_2, ..., $p_n)

26
Destrutor

 Método especial a ser executado


automaticamente quando o objeto é
desalocado da memória ou quando o
programa é finalizado;

 Muito utilizado para finalizar conexões,


apagar arquivos temporários, etc.;

27
Destrutor

 Sintaxe:

function __destruct()

28
PHP OO – Herança
Herança

 Permite reutilizar atributos e métodos já definidos


em uma outra classe;

 Elimina eventuais duplicações ou reescritas de


código;

 Classes-filha (subclasses) herdam implementações


da classe-pai (superclasse) de acordo com uma
hierarquia;

30
Herança
Superclasse: Características comuns
 Uma subclasse
pode herdar Pessoa
todos os # nome: String
componentes de + escreverNome()
uma classe pai;

 Permite a Juridica Fisica

criação de novas - cnpj: String - cpf: String

classes sem +validarCNPJ(): Boolean +validarCPF(): Boolean

duplicação de Subclasses: Características específicas


código; 31
Herança

 Usamos a palavra reservada extends na assinatura


de uma classe para estabelecer uma hierarquia;

 Sintaxe:

<?php

class Filha extends Pai


{
// ...

32
Exercício
Exercício

• Etapa 1 – Preparação do Domínio

 Crie uma pasta em htdocs chamada heranca;


 Na pasta heranca, crie uma pasta chamada
classes;

34
Exercício
 Etapa 2 - Crie as seguintes classes na pasta
heranca/classes:
OBS 1: Crie métodos
get e set caso seja necessário. Funcionario
Construtores também podem
# nome: string
ser utilizados.
# salario: float
OBS 2: O métodos relatorio + relatorioFunc()
simplesmente exibe as
informações do funcionário
no navegador

Gerente Programador
- projeto: string - linguagem: string

35
Exercício
• Etapa 3 – Criação de um formulário HTML

 Crie um formulário HTML que permita ao usuário


digitar o nome, salário e observações de um
funcionário, além de informar se o mesmo é um
gerente ou programador;
 Método de envio: POST;
 Os dados deverão ser submetidos para o script
“exibirFunc.php”;
 Salve o documento HTML na pasta heranca com o
nome index.html;
36
Exercício
• Etapa 4 – Criação do script exibirFunc.php na
pasta herança
 O script deverá inicialmente receber os dados submetidos
pelo formulário HTML;
 Em seguida, o script deverá criar um objeto da classe que
representa o cargo do funcionário;
 Com o objeto criado, os dados enviados a partir do
formulário deverão ser submetidos para o mesmo;
 O script deverá executar o método relatorioFunc,
objetivando apresentar os dados do funcionário;
 O script deverá exibir as observações do funcionário (o
projeto ou a linguagem de programação);
37
PHP OO – Polimorfismo
Polimorfismo

 Permite que subclasses possuam métodos iguais


(com a mesma assinatura) de uma superclasse, mas
com comportamentos diferentes;

 As implementações de tais métodos são redefinidas


nas classes-filhas;

 Classes-filha (subclasses) herdam implementações


da classe-pai (superclasse) de acordo com uma
hierarquia;
39
Polimorfismo

 Ex.:
Figura
# x: double
# y: double
+ mostraArea()

Triangulo Quadrado

+ mostraArea() + mostraArea()

40
Exercício
Exercício

• Etapa 1 – Preparação do Domínio

 Crie uma pasta em htdocs chamada


polimorfismo;
 Na pasta polimorfismo, crie uma pasta chamada
classes;

42
Polimorfismo
 Etapa 2: Crie as seguintes classes na pasta
polimorfismo/classes :
Conta

# saldo: double
OBS: Crie os métodos
get e set necessários. Construtores + deposita(double)
podem ser criados. + saca(double)
+ imprimeExtrato()
OBS: O método saca da
Subclasse ContaCorrente
Deverá descontar uma
taxa de 10 centavos em
cada saque. ContaCorrente ContaPoupanca

+ deposita(double)
43
Exercício
• Etapa 3 – Criação do script index.php na pasta
polimorfismo

 O script deverá criar um objeto para cada tipo de conta;


 Em seguida, o script deverá definir o saldo inicial de R$
200,00 na conta corrente e R$ 500,00 na poupança;
 Após a definição do valor inicial de cada conta, saque R$
100,00 de cada conta;
 O script deverá executar o método imprimeExtrato de
cada conta, exibindo seu saldo final;

44
PHP OO – Classes Abstratas
Classes Abstratas

 Classes estruturais que servem de base para outras


classes;

 Não podem ser instanciadas (terem objetos)


 Apenas as subclasses poderão ser instanciadas;

 Usamos a palavra reservada abstract na assinatura


de uma classe para torná-la abstrata;

46
Classes Abstratas

 Sintaxe:

<?php

abstract class Conta


{
// ...

47
Classes Abstratas

 Considere o exemplo anterior:

Figura
# x: double
# y: double
+ mostraArea()

Triangulo Quadrado

+ mostraArea() + mostraArea()
48
Classes Abstratas

 Considere o exemplo anterior:


A classe Figura nunca
Figura é instanciada (não
# x: double criamos objetos dessa
# y: double classe)

+ mostraArea() Definida apenas para


questões de herança
e polimorfismo

Triangulo Quadrado

+ mostraArea() + mostraArea()
49
Classes Abstratas

 Considere o exemplo anterior:

Figura
# x: double Tal classe é uma forte
# y: double candidata a ser uma
+ mostraArea() classe abstrata!

Triangulo Quadrado

+ mostraArea() + mostraArea()
50
PHP OO – Métodos Abstratos
Métodos Abstratos

 Métodos que possui apenas assinaturas,


implementados em classes abstratas;
 Não possuem lógica! Apenas assinaturas;

 Faz com que as classes-filha sejam obrigadas a


definir as implementações dos métodos abstratos;
 Impõem o polimorfismo às subclasses!

 Usamos a palavra reservada abstract na assinatura


de um método para torná-la abstrata;
52
Métodos Abstratos
 Sintaxe - Exemplo:

<?php

// ...

abstract function transferir($conta);

// ...

53
Métodos Abstratos

 Voltando o exemplo anterior:

Figura
# x: double
# y: double
+ mostraArea()

Triangulo Quadrado

+ mostraArea() + mostraArea()
54
Métodos Abstratos

 Considere o exemplo anterior:


O método
mostraArea() não é
Figura genérica o suficiente
(não existe uma única forma
# x: double de se calcular a área)
# y: double
+ mostraArea() Definida apenas para
questões de
polimorfismo

Triangulo Quadrado

+ mostraArea() + mostraArea()
55
Métodos Abstratos

 Considere o exemplo anterior:

Figura
# x: double Tal método é um forte
# y: double candidato a ser um
+ mostraArea() método abstrato!

Triangulo Quadrado

+ mostraArea() + mostraArea()
56
Exercício
Exercício

• Etapa 1 – Preparação do Domínio

 Crie uma pasta em htdocs chamada abstratos;


 Na pasta abstratos, crie uma pasta chamada
classes;

58
Exercício
 Etapa 2: Crie as seguintes classes na pasta
abstratos/classes : Classe abstrata

OBS: Crie os métodos Animal


get, set e construtores caso sejam
# come: String
necessários.
+ habitoAlimentar()
OBS: O método
habitoAlimentar()
simplesmente imprime na Método abstrato
tela o hábito alimentar de
cada animal.
Carnivoro Herbivoro

+ habitoAlimentar() + habitoAlimentar()
59
Exercício
• Etapa 3 – Criação do script index.php na pasta
abstratos

 O script deverá criar um objeto para cada tipo de animal;


 Em seguida, o script deverá definir o hábito alimentar do
carnívoro para “carne” e do herbívoro para “legumes”;
 O script deverá exibir o método alimentar de cada animal;

60
PHP OO – Classes Finais
Classes Finais

 Classes que não podem ter herdeiros (não podem


ser superclasses);

 Sintaxe - Exemplo:

<?php

final class ContaPoupanca extends Conta


{
// ...

62
PHP OO – Métodos Finais
Métodos Finais

 Métodos que não podem ser sobrescritos;


 Proíbem que subclasses usem polimorfismo!

 Usamos a palavra reservada final na assinatura de


um método para impedir que seja sobrescrita;

64
Métodos Finais
 Sintaxe - Exemplo:

<?php

// ...

final function transferir($conta)


{

// ...

65
PHP OO – Encapsulamento
Encapsulamento

 Mecanismo que provê proteção de acesso aos


atributos e métodos de um objeto;

 A depender de um projeto de uma classe, certos


atributos e métodos devem ser tratados
exclusivamente:
 Pela classe que os possui;
 Pela superclasse e subclasses em uma hierarquia;
 Por qualquer classe ou script;

67
Encapsulamento

 Para definir a visibilidade dos membros de um


objeto, usamos as palavras reservadas public,
private ou protected na assinatura de atributos e
métodos;
 public – Podem ser acessados livremente;

 private – Podem ser acessados dentro da própria

classe em que foram declarados;


 protected – Podem ser acessados dentro da

própria classe em que foram declarados e a partir


das classes descendentes;
68
Encapsulamento

 Representação UML para as visibilidades de


atributos e métodos em diagramas de classe:

 (+) public;
 (-) private;
 (#) protected;

69
Encapsulamento
 Exemplo:

70
Encapsulamento
 Exemplo:

71
PHP OO – Armazenamento de
Dados em Classes
Armazenamento em Classes

 Os seguintes membros podem ser utilizados para


armazenamento de dados em classes:
 Constantes;

 Atributos Estáticos;

 Podem ser acessados diretamente a partir do nome


da classe, sem a necessidade de um objeto para tal;

73
Armazenamento em Classes
 Sintaxe – Constantes – Exemplo:
<?php
class Biblioteca
{
const Nome = “GTK ”;
}
?>

 Para acessar uma constante de classe...


 ... a partir da própria classe: self::Nome;
 ... a partir de uma subclasse: parent::Nome;
 ... Externamente, fora da hierarquia: Biblioteca::Nome;
74
Armazenamento em Classes
 Sintaxe – Constantes – Exemplo:
<?php
class Biblioteca
{
const Nome = “GTK ”;

public function imprimeConstante() {


echo self::Nome . "<br>";
}
}

echo Biblioteca::Nome . ‘<br>’;


?>

75
Armazenamento em Classes
 Sintaxe – Atributos Estáticos – Exemplo:
<?php
class Aplicacao
{
public static $Quantidade;
}
?>

 Para acessar um atributo de classe estático...


 ... a partir da própria classe: self::$Quantidade ou
static::$Quantidade;
 ... a partir de uma subclasse: parent::$Quantidade;
 ... Externamente, fora da hierarquia:
Aplicacao::$Quantidade; 76
Armazenamento em Classes
 Sintaxe – Atributos Estáticos – Exemplo:
<?php
class Aplicacao
{
public static $Quantidade;

function __construct()
{
static::$Quantidade++;
}
}

$app1 = new Aplicacao();


echo Aplicacao::$Quantidade . '<br>';

$app2 = new Aplicacao();


echo Aplicacao::$Quantidade . '<br>';
?> 77
PHP OO – Métodos Estáticos
Métodos Estáticos

 Podem ser invocados diretamente pelo nome da


classe, sem a necessidade de instanciar um objeto;
 Também permitem que outras classes possam manipular
atributos estáticos privados de uma classe fornecedora;

 Usamos a palavra reservada static na assinatura de


um método de classe;
 Usamos a sintaxe NomeDaClasse::NomeDoMetodo()
para executar um método estático;

79
Métodos Estáticos
<?php
class Aplicacao {
private static $Quantidade;

public function __construct() {


static::$Quantidade++;
}

public static function imprimeContador() {


return static::$Quantidade;
}
}

$app1 = new Aplicacao();


echo Aplicacao::imprimeContador() . '<br>';

$app2 = new Aplicacao();


echo Aplicacao::imprimeContador() . '<br>';
?>
80
PHP OO – Interfaces
Interfaces
 “Obriga” a um determinado grupo de classes a ter
métodos em comum;
 Funciona como uma espécie de contrato que, quando
assumido por uma classe, deve ser implementado;

 Apenas assinaturas de métodos fazem parte do


corpo de interfaces;
 As classes que seguem este “contrato” deverão
implementar o comportamento dos métodos;

 Tal estrutura não possui atributos;


82
Interface

 Usamos a palavra reservada interface na assinatura


da classe que funcionará como uma interface;

 Usamos a palavra reservada implements na


assinatura da classe que implementará uma
interface;

 Uma classe pode implementar mais de uma


interface;

83
Interface
 Sintaxe – Exemplo: << interface >>
IMensagem
<?php
+ mensagem()
interface IMensagem
{
function mensagem();
}

class Aplicacao implements IMensagem


{
function mensagem() {
echo ‘Exemplo interface’;
}
}
?>
84
Interfaces

 Ex:
Figura << interface >>
ICalculos
# x: double
# y: double
+ calculaArea(): double

Triangulo Quadrado

+ calculaArea(): double + calculaArea(): double

85
Exercício
Exercício

• Etapa 1 – Preparação do Domínio

 Crie uma pasta em htdocs chamada contrato;


 Na pasta contrato, crie uma pasta chamada
classes;

87
Exercício
 Etapa 2 - Implemente as classes abaixo na
pasta dedicada para tal:
<< interface >>
Veiculo ICaracteristicas
# nome: String
# marca: String
+ exibeNome()
# modelo: String
+ exibeMarca()
getters e setters + exibeModelo()

Carro Moto

+ exibeNome() + exibeNome()
+ exibeMarca() + exibeMarca()
+ exibeModelo() + exibeModelo() 88
Exercício
• Etapa 3 – Criação de um formulário HTML

 Crie um formulário HTML que permita ao usuário


digitar o nome, marca e modelo de um veículo,
além de informar o tipo de veículo;
 Método de envio: POST;
 Os dados deverão ser submetidos para o script
“exibir_veiculo.php”;
 Salve o documento HTML na pasta contrato com o
nome index.html;

89
Exercício

• Etapa 4 – Criação do script exibir_veiculo.php


na pasta contrato

 O script deverá inicialmente receber os dados submetidos


pelo formulário HTML;
 Em seguida, o script deverá criar um objeto da classe que
representa o veículo selecionado;
 Com o objeto criado, os dados enviados a partir do
formulário deverão ser submetidos para o mesmo;
 O script deverá exibir as observações do veículo;

90
PDO – PHP Data Objects
PDO – PHP Data Objects

 Unifica o acesso às diferentes extensões de bancos


de dados presentes em PHP;

 Provê uma API limpa e consistente, unificando a


maioria das características presentes nas extensões
de acesso a banco de dados

 Unifica a chamada de métodos, graças à orientação


a objetos a partir do PHP 5;

92
PDO – PHP Data Objects

• Sequência de passos:

1. A aplicação estabelece uma conexão com o SGBD;


2. A aplicação seleciona uma base de dados a ser
utilizada durante a conexão;
3. A aplicação executa uma consulta específica
(seleção, inserção, remoção...);
4. A aplicação fecha a conexão corrente com o
SGBD;
PDO – PHP Data Objects

 PDO – Conexão com bancos de dados:

Banco String de Conexão


SQLite new PDO(‘sqlite: teste.db’);
FireBird new PDO(“firebird:dbname=C:\\base.GDB”, “SYSDBA”, “masterkey”);
MySQL new PDO('mysql:host=localhost;dbname=base', 'login', 'senha');
Postgres new PDO('pgsql:dbname=example; user=user;
password=senha;host=localhost');

94
PDO – Exemplos
PDO – Exemplos

 No phpmyadmin, configure o banco de dados da


atividade:

 Database: livros
 Tabela: famosos
 Campos: id (int, auto increment, chave primária) e
nome (varchar[100]);

96
PDO – Exemplos

 Exemplo 1: Inserindo dados via PDO

<?php

$conn = new
PDO('mysql:host=localhost;dbname=livros', ‘root',
'');

$conn->exec("INSERT INTO famosos (nome) VALUES


('Thyago Maia')");

$conn = null;

?>

97
PDO – Exemplos
 Exemplo 2: Listagem via PDO
<?php
$conn = new
PDO('mysql:host=localhost;dbname=livros', ‘root',
'');

$result = $conn->query("SELECT id, nome from


famosos");

if($result)
foreach($result as $row)
echo $row['id'] . '-' .
$row['nome'] . '<br>';

$conn = null;
?>
98
PDO – Exemplos

 Exemplo 3: Excluindo dados via PDO

<?php

$conn = new
PDO('mysql:host=localhost;dbname=livros', ‘root',
'Unipe');

$conn->exec("DELETE FROM famosos WHERE id =


1");

$conn = null;

?>

99
Exercício
Exercício

• Etapa 1 – Preparação do Banco de Dados no


phpmyadmin

 Database: sistema
 Tabela: cadastro
 Campos: codigo (int, auto increment, chave primária),
nome (varchar[100]), telefone (varchar[100]) e email
(varchar[100]);

101
Exercício

• Etapa 2 – Preparação do Domínio

 Crie uma pasta em htdocs chamada sistema;

102
Exercício

• Etapa 3 – Criação de um formulário HTML

 Crie um formulário HTML que permita ao usuário


digitar seu nome, telefone e e-mail;
 Método de envio: POST;
 Os dados deverão ser submetidos para o script
“cadastro.php”;
 Salve o documento HTML na pasta sistema com o
nome index.html;

103
Exercício

• Etapa 4 – Criação do script cadastro.php na


pasta sistema

 O script deverá inicialmente receber os dados


submetidos na etapa anterior;
 Em seguida, via PDO, o script deverá inserir os
dados no banco de dados;
 O script deverá redirecionar o usuário para o
script lista_usuarios.php;
104
Exercício

• Etapa 5 – Criação do script lista_usuarios.php


na pasta sistema

– O script deverá exibir todos os cadastros efetuados até o


momento, além de disponibilizar um link que permita ao
usuário efetuar um novo cadastro;

105
Exercício

• Etapa 6 – Testar a aplicação

 Abra o navegador de sua preferência e acesse:


 http://localhost/sistema ou
 http://127.0.0.1/sistema
 OBS.: Verifique se o servidor Apache do Xampp está ativo;

106
Exercício
Exercício

• Etapa 1 – Preparação do Banco de Dados no


phpmyadmin

 Utilizaremos a mesma base criada no exercício anterior;

108
Exercício

• Etapa 2 – Preparação do Domínio

 Utilizaremos a pasta sistema criada


anteriormente;

109
Exercício

• Etapa 3 – Criação de um formulário HTML

 Utilizaremos o mesmo formulário do exercício


anterior;

110
Exercício
• Etapa 4 – Criação da classe Cadastro.php na
pasta sistema
Cadastro
-nome: string
-telefone: string
-email: string
+setNome(nome: string) : void
+setTelefone(telefone: string) : void
+setEmail(email: string) : void
+getNome() : string
+getTelefone() : string
+getEmail() : string
+inserir() : void
+exibir() :void
111
Exercício
• Etapa 5 – Atualização do script cadastro.php
da pasta sistema
 O script deverá:
 Receber os dados submetidos na etapa anterior;
 Instanciar um objeto da classe Cadastro;
 Atribuir os dados recebidos para o objeto instanciado;
 Executar o método inserir a partir do objeto
instanciado;
 Executar o método exibir a partir do objeto
instanciado;
 Disponibilizar um link que permita ao usuário efetuar
um novo cadastro;
112
Exercício

• Etapa 6 – Testar a aplicação

 Abra o navegador de sua preferência e acesse:


 http://localhost/sistema ou
 http://127.0.0.1/sistema
 OBS.: Verifique se o servidor Apache do Xampp está ativo!

113

Você também pode gostar