85
Desenvolvimento Web com PHP Pós-Graduação em Desenvolvimento Web

Pós Graduação Unipê - Desenvolvimento Web com PHP - Aula 3

Embed Size (px)

Citation preview

Page 1: Pós Graduação Unipê - Desenvolvimento Web com PHP - Aula 3

Desenvolvimento Web com PHP

Pós-Graduação em Desenvolvimento Web

Page 2: Pós Graduação Unipê - Desenvolvimento Web com PHP - Aula 3

Paradigmas de Programação

Page 3: Pós Graduação Unipê - Desenvolvimento Web com PHP - Aula 3

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;

3

Page 4: Pós Graduação Unipê - Desenvolvimento Web com PHP - Aula 3

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;

4

Page 5: Pós Graduação Unipê - Desenvolvimento Web com PHP - Aula 3

Paradigmas de Programação

Principais paradigmas:

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

5

Page 6: Pós Graduação Unipê - Desenvolvimento Web com PHP - Aula 3

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;

6

Page 7: Pós Graduação Unipê - Desenvolvimento Web com PHP - Aula 3

Paradigmas de Programação

Programação Procedural:

7

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.

Page 8: Pós Graduação Unipê - Desenvolvimento Web com PHP - Aula 3

Paradigma de Programação Orientado a Objetos

Page 9: Pós Graduação Unipê - Desenvolvimento Web com PHP - Aula 3

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;

9

Page 10: Pós Graduação Unipê - Desenvolvimento Web com PHP - Aula 3

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;

10

Page 11: Pós Graduação Unipê - Desenvolvimento Web com PHP - Aula 3

Paradigma de Programação OO Exemplo 1 – Implementação de uma classe em PHP:

11

// Arquivo Produto.class.php

<?php

class Produto{

// Classe com 4 atributospublic $codigo;public $descricao;public $preco;public $quantidade;

}

?>

Page 12: Pós Graduação Unipê - Desenvolvimento Web com PHP - Aula 3

Paradigma de Programação OO Exemplo 1 – Instanciando um objeto da classe

Produto:

12

// Arquivo testeObjeto.php

<?php// Incluindo a classe criada anteriormenteinclude_once ‘classes/Produto.class.php’;

// Criando um objeto$produto = new Produto;

// Atribuindo valores aos atributos$produto->codigo = 4001;$produto->descricao = ‘CD – AC/DC’;

?>

Page 13: Pós Graduação Unipê - Desenvolvimento Web com PHP - Aula 3

Paradigma de Programação OO Exemplo 2 – A classe Produto com atributos e um

método:

13

// Arquivo Produto.class.php<?php

class Produto{

// Classe com 4 atributospublic $codigo;public $descricao;public $preco;public $quantidade;

Page 14: Pós Graduação Unipê - Desenvolvimento Web com PHP - Aula 3

Paradigma de Programação OO Exemplo 2 – A classe Produto com atributos e um

método:

14

// Arquivo Produto.class.php

function imprimeEtiqueta(){

echo ‘Código: ’ . $this->codigo . ‘<br>’;

echo ‘Descrição: ’ . $this->descricao . ‘<br>’;

}}

?>

Page 15: Pós Graduação Unipê - Desenvolvimento Web com PHP - Aula 3

Paradigma de Programação OO Exemplo 2 – Instanciando um objeto da classe

Produto e executando um método do mesmo:

15

// Arquivo testeObjeto.php

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

$produto->imprimeEtiqueta();?>

Page 16: Pós Graduação Unipê - Desenvolvimento Web com PHP - Aula 3

PHP OO – Construtores e Destrutores

Page 17: Pós Graduação Unipê - Desenvolvimento Web com PHP - Aula 3

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);

17

Page 18: Pós Graduação Unipê - Desenvolvimento Web com PHP - Aula 3

Construtor

Sintaxe:

18

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

Page 19: Pós Graduação Unipê - Desenvolvimento Web com PHP - Aula 3

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.;

19

Page 20: Pós Graduação Unipê - Desenvolvimento Web com PHP - Aula 3

Destrutor

Sintaxe:

20

function __destruct()

Page 21: Pós Graduação Unipê - Desenvolvimento Web com PHP - Aula 3

PHP OO – Herança

Page 22: Pós Graduação Unipê - Desenvolvimento Web com PHP - Aula 3

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;

22

Page 23: Pós Graduação Unipê - Desenvolvimento Web com PHP - Aula 3

Herança

Usamos a palavra reservada extends na assinatura de uma classe para estabelecer uma hierarquia;

Sintaxe:

23

<?php

class Filha extends Pai{

// ...

Page 24: Pós Graduação Unipê - Desenvolvimento Web com PHP - Aula 3

PHP OO – Polimorfismo

Page 25: Pós Graduação Unipê - Desenvolvimento Web com PHP - Aula 3

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;

25

Page 26: Pós Graduação Unipê - Desenvolvimento Web com PHP - Aula 3

PHP OO – Classes Abstratas

Page 27: Pós Graduação Unipê - Desenvolvimento Web com PHP - Aula 3

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;

27

Page 28: Pós Graduação Unipê - Desenvolvimento Web com PHP - Aula 3

Classes Abstratas

Sintaxe:

28

<?php

abstract class Conta{

// ...

Page 29: Pós Graduação Unipê - Desenvolvimento Web com PHP - Aula 3

PHP OO – Classes Finais

Page 30: Pós Graduação Unipê - Desenvolvimento Web com PHP - Aula 3

Classes Finais

Classes que não podem ter herdeiros (não podem ser superclasses);

Sintaxe - Exemplo:

30

<?php

final class ContaPoupanca extends Conta {

// ...

Page 31: Pós Graduação Unipê - Desenvolvimento Web com PHP - Aula 3

PHP OO – Métodos Abstratos

Page 32: Pós Graduação Unipê - Desenvolvimento Web com PHP - Aula 3

Métodos Abstratos

Métodos que possui apenas assinaturas, implementados em classes abstratas; Não possuem implementação!

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;

32

Page 33: Pós Graduação Unipê - Desenvolvimento Web com PHP - Aula 3

Métodos Abstratos Sintaxe - Exemplo:

33

<?php

// ...

abstract function transferir($conta);

// ...

Page 34: Pós Graduação Unipê - Desenvolvimento Web com PHP - Aula 3

PHP OO – Métodos Finais

Page 35: Pós Graduação Unipê - Desenvolvimento Web com PHP - Aula 3

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;

35

Page 36: Pós Graduação Unipê - Desenvolvimento Web com PHP - Aula 3

Métodos Finais Sintaxe - Exemplo:

36

<?php

// ...

final function transferir($conta){

// ...

Page 37: Pós Graduação Unipê - Desenvolvimento Web com PHP - Aula 3

PHP OO – Encapsulamento

Page 38: Pós Graduação Unipê - Desenvolvimento Web com PHP - Aula 3

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;

38

Page 39: Pós Graduação Unipê - Desenvolvimento Web com PHP - Aula 3

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;

39

Page 40: Pós Graduação Unipê - Desenvolvimento Web com PHP - Aula 3

Encapsulamento

Representação UML para as visibilidades de atributos e métodos em diagramas de classe:

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

40

Page 41: Pós Graduação Unipê - Desenvolvimento Web com PHP - Aula 3

PHP OO – Armazenamento de Dados em Classes

Page 42: Pós Graduação Unipê - Desenvolvimento Web com PHP - Aula 3

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;

42

Page 43: Pós Graduação Unipê - Desenvolvimento Web com PHP - Aula 3

Armazenamento em Classes

Sintaxe – Constantes – Exemplo:

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;

43

<?phpclass Biblioteca{

const Nome = “GTK ”;}

?>

Page 44: Pós Graduação Unipê - Desenvolvimento Web com PHP - Aula 3

Armazenamento em Classes

Sintaxe – Constantes – Exemplo:

44

<?phpclass Biblioteca{

const Nome = “GTK ”;}

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

Page 45: Pós Graduação Unipê - Desenvolvimento Web com PHP - Aula 3

Armazenamento em Classes Sintaxe – Atributos Estáticos – Exemplo:

Para acessar um atributo de classe estático... ... a partir da própria classe: self::$Quantidade; ... a partir de uma subclasse: parent::$Quantidade; ... Externamente, fora da hierarquia: Aplicacao::

$Quantidade;45

<?phpclass Aplicacao{

static $Quantidade;}

?>

Page 46: Pós Graduação Unipê - Desenvolvimento Web com PHP - Aula 3

Armazenamento em Classes Sintaxe – Atributos Estáticos – Exemplo:

46

<?phpclass Aplicacao{

static $Quantidade;

function __construct(){

self::$Quantidade++;}

}

new Aplicacao();

echo Aplicacao::$Quantidade . ‘<br>’;?>

Page 47: Pós Graduação Unipê - Desenvolvimento Web com PHP - Aula 3

PHP OO – Métodos Estáticos

Page 48: Pós Graduação Unipê - Desenvolvimento Web com PHP - Aula 3

Métodos Estáticos

Podem ser invocados diretamente pelo nome da classe, sem a necessidade de instanciar um objeto; Só podem manipular atributos estáticos; Só podem chamar outros métodos estáticos;

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;

48

Page 49: Pós Graduação Unipê - Desenvolvimento Web com PHP - Aula 3

Métodos Estáticos Sintaxe – Métodos Estáticos – Exemplo:

49

<?phpclass Aplicacao{

static function Sobre() {echo “Teste estático”;

}}

Aplicacao::Sobre();?>

Page 50: Pós Graduação Unipê - Desenvolvimento Web com PHP - Aula 3

PHP OO – Interfaces

Page 51: Pós Graduação Unipê - Desenvolvimento Web com PHP - Aula 3

Interface

Classe que define um conjunto de métodos que determinadas classes de um sistema deverão implementar incondicionalmente;

Seus métodos possuem apenas assinaturas; Não possuem implementação!

Tal classe não possui atributos;

51

Page 52: Pós Graduação Unipê - Desenvolvimento Web com PHP - Aula 3

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;

52

Page 53: Pós Graduação Unipê - Desenvolvimento Web com PHP - Aula 3

Interface

Sintaxe – Exemplo:

53

<?php

interface IMensagem{

function mensagem();}

class Aplicacao implements IMensagem{

function mensagem() {echo ‘Exemplo interface’;

}}

?>

Page 54: Pós Graduação Unipê - Desenvolvimento Web com PHP - Aula 3

PDO – PHP Data Objects

Page 55: Pós Graduação Unipê - Desenvolvimento Web com PHP - Aula 3

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 presentes no PHP5;

55

Page 56: Pós Graduação Unipê - Desenvolvimento Web com PHP - Aula 3

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;

Page 57: Pós Graduação Unipê - Desenvolvimento Web com PHP - Aula 3

PDO – PHP Data Objects

PDO – Conexão com bancos de dados:

57

Banco String de ConexãoSQLite 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');

Page 58: Pós Graduação Unipê - Desenvolvimento Web com PHP - Aula 3

PDO – Exemplos

Page 59: Pós Graduação Unipê - Desenvolvimento Web com PHP - Aula 3

PDO – Exemplos

No phpmyadmin, configure o banco de dados da atividade:

Database: livros Tabela: famosos

Campos: codigo (int, auto increment, chave primária) e nome (varchar[100]);

59

Page 60: Pós Graduação Unipê - Desenvolvimento Web com PHP - Aula 3

PDO – Exemplos

Exemplo 1: Inserindo dados via PDO

60

<?php

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

$conn->exec("INSERT INTO famosos (nome) VALUES ('Thyago Maia')");

$conn = null;

?>

Page 61: Pós Graduação Unipê - Desenvolvimento Web com PHP - Aula 3

PDO – Exemplos Exemplo 2: Listagem via PDO

61

<?php$conn = new

PDO('mysql:host=localhost;dbname=livros', 'Root', 'Unipe');

$result = $conn->query("SELECT codigo, nome from famosos");

if($result)foreach($result as $row)

echo $row[‘codigo'] . '-' . $row['nome'] . '<br>';

$conn = null;?>

Page 62: Pós Graduação Unipê - Desenvolvimento Web com PHP - Aula 3

PDO – Exemplos

Exemplo 3: Excluindo dados via PDO

62

<?php

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

$conn->exec("DELETE FROM famosos WHERE codigo = 1");

$conn = null;

?>

Page 63: Pós Graduação Unipê - Desenvolvimento Web com PHP - Aula 3

Exercício

Page 64: Pós Graduação Unipê - Desenvolvimento Web com PHP - Aula 3

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]);

64

Page 65: Pós Graduação Unipê - Desenvolvimento Web com PHP - Aula 3

Exercício

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

Crie uma pasta em htdocs chamada sistema;

65

Page 66: Pós Graduação Unipê - Desenvolvimento Web com PHP - Aula 3

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;

66

Page 67: Pós Graduação Unipê - Desenvolvimento Web com PHP - Aula 3

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;

67

Page 68: Pós Graduação Unipê - Desenvolvimento Web com PHP - Aula 3

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;

68

Page 69: Pós Graduação Unipê - Desenvolvimento Web com PHP - Aula 3

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;

69

Page 70: Pós Graduação Unipê - Desenvolvimento Web com PHP - Aula 3

Exercício

Page 71: Pós Graduação Unipê - Desenvolvimento Web com PHP - Aula 3

Exercício

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

Utilizaremos a mesma base criada no exercício anterior;

71

Page 72: Pós Graduação Unipê - Desenvolvimento Web com PHP - Aula 3

Exercício

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

Utilizaremos a pasta sistema criada anteriormente;

72

Page 73: Pós Graduação Unipê - Desenvolvimento Web com PHP - Aula 3

Exercício

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

Utilizaremos o mesmo formulário do exercício anterior;

73

Page 74: Pós Graduação Unipê - Desenvolvimento Web com PHP - Aula 3

Exercício• Etapa 4 – Criação da classe Cadastro.class.php

na pasta sistema

74

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

Page 75: Pós Graduação Unipê - Desenvolvimento Web com PHP - Aula 3

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

(via construtor de classe); 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; 75

Page 76: Pós Graduação Unipê - Desenvolvimento Web com PHP - Aula 3

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!

76

Page 77: Pós Graduação Unipê - Desenvolvimento Web com PHP - Aula 3

Design Patterns

Page 78: Pós Graduação Unipê - Desenvolvimento Web com PHP - Aula 3

Design Patterns

Termo largamente utilizado no mundo da orientação a objetos;

Descrevem formas de comunicação e

relacionamentos entre objetos e classes, de maneira a solucionar problemas específicos de projetos OO;

Adotar um Design Pattern não torna mais simples nem mais rápida a implementação de um projeto, mas a torna mais flexível, facilitando o reuso;

78

Page 79: Pós Graduação Unipê - Desenvolvimento Web com PHP - Aula 3

Exemplos de Design Patterns

Page 80: Pós Graduação Unipê - Desenvolvimento Web com PHP - Aula 3

Singleton

Permite que um objeto fique disponível para toda a aplicação, porém sem perder o encapsulamento (evitar variáveis globais);

Permite a criação de APENAS UM objeto de determinada classe;

Tal objeto é passível de ser compartilhado por qualquer classe, como um recurso global;

80

Page 81: Pós Graduação Unipê - Desenvolvimento Web com PHP - Aula 3

Singleton

Exemplo:

81

<?phpclass Singleton {

private static $instance;

public static function getInstance() {if(empty(self::$instance)) {

self::$instance = new self;}return self::$instance;

}}

?>

Page 82: Pós Graduação Unipê - Desenvolvimento Web com PHP - Aula 3

MVC

Define a separação de classes em 3 grandes grupos de responsabilidades:

Model (Modelo): Classe que define a lógica da aplicação; View (Visualização): Classe responsável pela saída da

aplicação; Controller (Controle): Classe que recebe requisições do

usuário e controla a instância de Views e Models;

A ideia principal é não misturar em uma mesma

classe funcionalidades diferentes;82

Page 83: Pós Graduação Unipê - Desenvolvimento Web com PHP - Aula 3

MVC

Exemplo:

83

<?phpclass Model {

private $dado;

public function getDado() {return $this->dado;

}public function setDado($dado) {

$this->dado = $dado;}

}?>

Page 84: Pós Graduação Unipê - Desenvolvimento Web com PHP - Aula 3

MVC

Exemplo:

84

<?phpclass View {

public function exibeDado($dado) {echo “<b>”.$dado.”</b>”;

} }?>

Page 85: Pós Graduação Unipê - Desenvolvimento Web com PHP - Aula 3

MVC

Exemplo:

85

<?phpclass Controller {

public function principal() {$model = new Model;$view = new View;

$model->setDado(“Teste”);$view->exibeDado($model-

>getDado());}

}?>