Programação WEB I Aula 11 Orientação a Objeto (OO)

35
Programação WEB I Aula 11 Orientação a Objeto (OO)

Transcript of Programação WEB I Aula 11 Orientação a Objeto (OO)

Page 1: Programação WEB I Aula 11 Orientação a Objeto (OO)

Programação WEB I

Aula 11Orientação a Objeto (OO)

Page 2: Programação WEB I Aula 11 Orientação a Objeto (OO)

Programação WEB I

Objetos

PHP - Conceitos Básicos

Classes

Herança

É uma unidade na qual queremos representar informações no sistema;São constituídos por atributos que o representam e pelas operações que eles realizam; Atributos é conhecido por formar o estado de um determinado objeto

É o agrupamento de objetos com características comuns;

É um mecanismo que permite que as características comuns de um grupo de objetos diferentes sejam concentradas em uma única classe.

Php 5 em diante public; protected; private

Todos funções ali definidosObjetos daquela classe e classes herdeiras

Objetos daquela classe

Page 3: Programação WEB I Aula 11 Orientação a Objeto (OO)

Programação WEB IPHP - Conceitos Básicos

Trabalhando com OO no PHP

classes

Basicamente é o nome da classe, precedido da palavra reservada class e seguida de um par de colchetes {} o qual delimitará o código da classe.

No php, cada classe é um objeto, ou seja, uma coleção de métodos e propriedades.

Page 4: Programação WEB I Aula 11 Orientação a Objeto (OO)

Programação WEB IPHP - Conceitos Básicos

Propriedades: são variáveis internas de uma classe

Métodos são as funções internas das classes

Page 5: Programação WEB I Aula 11 Orientação a Objeto (OO)

Programação WEB IPHP - Conceitos Básicos

Vamos a um exemplo!!!!!!!!!!!!

Page 6: Programação WEB I Aula 11 Orientação a Objeto (OO)

Programação WEB IPHP - Conceitos Básicos

Desenvolver um sistema em OO onde consigo cadastrar um cliente com as seguintes propriedades:

setNomesetCpfsetEndereco

Page 7: Programação WEB I Aula 11 Orientação a Objeto (OO)

Programação WEB IPHP - Conceitos Básicos

Todos os objetos podem ter um método especial embutido chamado 'constructor'.Constructors permitem que você inicialize as propriedades do seu objeto (tradução: dar valores à suas propriedades) quando você instanciar (criar) um objeto.

Nota: Se você criar uma função/método '__contruct()', a escolha é sua, pois o PHP automaticamente chama a função/método '__contruct()' quando você cria um objeto de sua classe.

O método '__contruct()' começa com dois underlines seguidos da palavra 'construct'. Você 'alimenta' o método'construct' fornecendo uma lista de argumentos (como numa função), após o nome da classe.

Page 8: Programação WEB I Aula 11 Orientação a Objeto (OO)

Programação WEB IPHP - Conceitos Básicos

2 páginas : principal.php e OO.php

Inicializaremos pela OO.php

Clicaremos uma classe chamada “Cliente”

Privaremos todas as propriedades

Page 9: Programação WEB I Aula 11 Orientação a Objeto (OO)

Programação WEB IPHP - Conceitos Básicos

Sempre que um novo objeto é instanciado pelo operador new, o que se obtém é uma referência daquele objeto. Se ele for acessado através do próprio objeto, deve-se utilizar a variável $this, que é uma referência ao próprio objeto.

Page 10: Programação WEB I Aula 11 Orientação a Objeto (OO)

Programação WEB IPHP - Conceitos Básicos

setters

Page 11: Programação WEB I Aula 11 Orientação a Objeto (OO)

Programação WEB IPHP - Conceitos Básicos

getters

//Fecha a classe Classe{}

Page 12: Programação WEB I Aula 11 Orientação a Objeto (OO)

Programação WEB IPHP - Conceitos Básicos

Agora iremos para a página Principal.php

Page 13: Programação WEB I Aula 11 Orientação a Objeto (OO)

Programação WEB IPHP - Conceitos Básicos

Trabalhamos com classes, Objetos, ponteiro $this e Encapsulamento

Agora trabalharemos com Herança

Uma classe pode herdar os atributos e métodos de outra classe de nível superior usando a palavra-chave extends na declaração.

Page 14: Programação WEB I Aula 11 Orientação a Objeto (OO)

Programação WEB IPHP - Conceitos Básicos

Para invocar a função construtora da classe-mãe, deve ser feita uma chamada EXPLÍCITA para ela, através do especificador: parent::__construct() , a partir do construtor da classe-filha

Page 15: Programação WEB I Aula 11 Orientação a Objeto (OO)

Programação WEB IPHP - Conceitos Básicos

Page 16: Programação WEB I Aula 11 Orientação a Objeto (OO)

Programação WEB IPHP - Conceitos Básicos

Funções destrutoras (PHP 5)

Funciona da mesma forma similar a outras linguagens: C++ , Java...

O método destrutor será chamado automaticamente assim que todas as referências para um objeto em particular forem removidas ou quando o objeto for explicitamente destruído pela função uncet().

Este método deve receber o nome exclusivo destruct precedido por dois underlines

__destruct()

Page 17: Programação WEB I Aula 11 Orientação a Objeto (OO)

Programação WEB IPHP - Conceitos Básicos

Exemplo:

Cria o objeto “Estado”;

Destrói o objeto “Estado”

Page 18: Programação WEB I Aula 11 Orientação a Objeto (OO)

Programação WEB I

Cookies

Cookies são pequenas porções de informações guardadas em arquivos de textos que podemter no máximo 4kbytes.

Eles são enviados pelo servidor e gravados no computador do cliente.

Servem para armazenar informações do usuário, formando um perfil de navegação delena internet.

Page 19: Programação WEB I Aula 11 Orientação a Objeto (OO)

Programação WEB I

Vantagem para o usuário é que essa técnica pode proporcionar serviços personalizadosatravés de sua identificação quando ele retorna ao site.

Agilizar o preenchimento de formulários com certa segurança

As informações contidas nos cookies de cada usuário podem ser utilizadassomente dos domínios do site.

Page 20: Programação WEB I Aula 11 Orientação a Objeto (OO)

Programação WEB I

-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 para armazenar os produtos comprados;- Dentre outros.

O que um Cookie permite?

Desvantagem:

-Podem ser evitados pelo usuário. Ele pode apagar o cookie;-Difícil utilização de vetores(arrays).

Page 21: Programação WEB I Aula 11 Orientação a Objeto (OO)

Programação WEB I

Criando um cookie

Setcookie()

setcookie("nome_do_cookie", "valor_do_cookie");

Sintaxe Básica

Função cria e grava no computador

Obs.: É necessário chamar antes que qualquer outro dado seja enviado ao navegador.Deve estar no inicio do código da página, até mesmo antes de TAGS HTML.

Page 22: Programação WEB I Aula 11 Orientação a Objeto (OO)

Programação WEB I

Os cookies são gravados em um diretório específico.

C:Documents and Settings\Administrador\Cookies

Os cookies são associados ao URL da página que os manipula.

testemunho de conexão, ou, simplesmente, testemunho é um grupo de dados trocados entre o navegador e o servidor de páginas, colocado num arquivo (ficheiro) de texto criado no computador do utilizador. A sua função principal é a de manter a persistência de sessões HTTP.

Page 23: Programação WEB I Aula 11 Orientação a Objeto (OO)

Programação WEB I

$nome – Define o nome do cookie (Semelhante ao de uma variável);

$valor – Estabelece o conteúdo textual do cookie(semelhante ao valor de uma variável).Este valor é guardado no computador do cliente no formato de texto e é visível, portanto,Não é recomendado guardar informações sigilosas.

$expira -  É o tempo durante o qual o cookie existirá.

30 dias – 3600*24*30= 2592000 segundos

= 3600s = 1h vezes 24h = 1 dia vezes 30

Page 24: Programação WEB I Aula 11 Orientação a Objeto (OO)

Programação WEB I

$caminho – Define o caminho no servidor para qual o cookie estará disponível, em outraspalavras, é o endereço da página que gerou o cookie.

$dominio – É o domínio para o qual o cookie estará disponível, em outras palavras, é o domínio do servidor ao qual pertence o cookie.

$seguranca -  Indica se o cookie deve ser transmitido por uma conexão segura HTTPS ou padrão HTTP. Quando for definido como 1, o cookie será definido somente se existir uma conexão segura.Se for omitido, a função assumirá o padrão que é 0.

Exemplo:

Page 25: Programação WEB I Aula 11 Orientação a Objeto (OO)

Programação WEB I

Quando se cria um cookie e ao fechar o browser, este cookie criado é excluído automaticamente.

Com esta sintaxe, o cookie permanece 48horas

O cookie criado tem o nome de Usuário com o valor $user, que seriafabiano(vamos supor que tenha o valor de fabiano) e será excluído depois de 48 horas queficar no computador do usuário (48 horas são iguais a 172800 segundos), mesmo com o fechamento do browser

Page 26: Programação WEB I Aula 11 Orientação a Objeto (OO)

Programação WEB IManipulação dos dados gravados em um ‘cookie’

Para abrir um cookie no PHP usamos o array superglobal $_COOKIE, entre chaves e aspas o nome do cookie! para ler-mos um cookie (com o nome idade, supondo que ele tenha o valor 21) fazemos o seguinte:

Abre o cookie

Exibe o cookie

Page 27: Programação WEB I Aula 11 Orientação a Objeto (OO)

Programação WEB IExemplo completo em uma página cookie.php

Page 28: Programação WEB I Aula 11 Orientação a Objeto (OO)

Programação WEB I

Para excluir este cookie

O valor 100 está sendo subtraído do tempo. Isso faz com que o mecanismo de remoçãoseja acionado.

Page 29: Programação WEB I Aula 11 Orientação a Objeto (OO)

Programação WEB I

Como ficaria em um sistema de login

Criaremos 4 páginas

1 – index.php2 – logar.php3 – psecreta.php4- excluir.php

Page 30: Programação WEB I Aula 11 Orientação a Objeto (OO)

Index.php

Page 31: Programação WEB I Aula 11 Orientação a Objeto (OO)

Logar.php

Page 32: Programação WEB I Aula 11 Orientação a Objeto (OO)
Page 33: Programação WEB I Aula 11 Orientação a Objeto (OO)

Psecreta.php

Page 34: Programação WEB I Aula 11 Orientação a Objeto (OO)

Excluir.php

Page 35: Programação WEB I Aula 11 Orientação a Objeto (OO)

Contador de visitas utilizando cookies

Valor da visita Segundos, minutos, horas, dias