introdução ao php orientado a objetos com ajax
Post on 06-Jun-2015
6.612 Views
Preview:
DESCRIPTION
TRANSCRIPT
Introdução ao PHP orientado a objetos com AJAX
Otávio Calaça Xavierotavio@javacerrado.org
Introdução ao PHP orientado a objetos com AJAX<Otávio Calaça Xavier> 2
Orientação a Objetos
Classe Objetos Métodos Atributos Visibilidade Construtores
AbstraçãoInterfaceHerançaEncapsulamentoPolimorfismoDestrutores
Introdução ao PHP orientado a objetos com AJAX<Otávio Calaça Xavier> 3
Classe
Representação abstrata de objetos com características afins.
Define e Descreve as ações providas pelos seus objetos, bem como as informações que esses podem conter.
Ex: Veículo Em PHP: class Veiculo {
// atributos// métodos
}
Introdução ao PHP orientado a objetos com AJAX<Otávio Calaça Xavier> 4
Abstração
Habilidade de se concentrar nas partes principais de um determinado contexto desprezando as características menos importantes ou acidentais.
Introdução ao PHP orientado a objetos com AJAX<Otávio Calaça Xavier> 5
Objetos
Instancia de uma classe Implementação de uma classe que prove
as ações (métodos) e informações (atributos) que esta classe define e descreve.
Ex: Corsa Em PHP: $corsa = new Veiculo();
Introdução ao PHP orientado a objetos com AJAX<Otávio Calaça Xavier> 6
Atributos
Características ou informações dos objetos Ex: cor, ano, modelo, marca.
Em PHP: class Veiculo {public $cor;public $modelo;// métodos
}
$corsa = new Veiculo();$corsa->cor = “Branco”;$corsa->modelo = “Sedan”;
Introdução ao PHP orientado a objetos com AJAX<Otávio Calaça Xavier> 7
Métodos
Ações de um objeto definidas na classe que o abstrai.
Ex: darPartida(), acelerar(), frear().
Em PHP: class Veiculo {
// atributospublic function acelerar() {
//algorítimo para acelerar}
}
$corsa = new Veiculo();$corsa->acelerar();
Introdução ao PHP orientado a objetos com AJAX<Otávio Calaça Xavier> 8
Método Construtor
Ação realizada no momento em que é criada uma nova instancia (objeto) de uma classe.
Em PHP: class Veiculo {__construct($nome) {
echo “veiculo ”.$nome.” criado!”;}
}
$corsa = new Veiculo('Corsa');Saida:veiculo Corsa criado!
Introdução ao PHP orientado a objetos com AJAX<Otávio Calaça Xavier> 9
Método Destrutor
Método que será chamado assim que todas as referências a um objeto particular forem removidas ou quando o objeto for explicitamente destruído.
Em PHP: class Veiculo {private $nome;function __construct($nome) {
$this->nome = $nome;echo "Criando veiculo ".$this->nome."\n";
}function __destruct() {
echo "Destruindo veiculo ".$this->nome."\n";}
}
Introdução ao PHP orientado a objetos com AJAX<Otávio Calaça Xavier> 10
Classe e Método Abstrato
Descreve um comportamento geral para as sub-classes de uma classe.
Somente o que farão e não como farão. A classe que tem um método abstrato
também deve ser declarada como abstrata. Todas as sub-classes da classe abstrata
devem sobrescrever seus método abstratos.
Introdução ao PHP orientado a objetos com AJAX<Otávio Calaça Xavier> 11
Atributos e Métodos estáticos
Se referem a classe e não aos objetos desta.
Não precisa de instanciar a classe. Em PHP: class Veiculo {
public static $quantidade = “1”;}echo Veiculo::$quantidade;Saida: 1
$corsa = new Veiculo();echo $corsa->quantidade;Saida: Erro!
Introdução ao PHP orientado a objetos com AJAX<Otávio Calaça Xavier> 12
Herança
Mecanismo pelo qual uma classe (sub-classe) pode estender uma outra classe (super-classe) visando menos repetição de codigo.
Ex: classe Moto estende classe Veículo. Em PHP: class Moto extends Veiculo {
//metodos e atributos da classe Moto.}$cgTitan = new Moto();
=> $cgTitan contem todos os métodos e atributos dos veículos
Introdução ao PHP orientado a objetos com AJAX<Otávio Calaça Xavier> 13
Visibilidade
Modificadores de acesso. Public => pode ser acessado em todo o
escopo do programa Protected => acessível apenas na classe
em que foi declarado e em suas filhas (sub-classes)
Private => acessível apenas na classe onde foi declarado.
Introdução ao PHP orientado a objetos com AJAX<Otávio Calaça Xavier> 14
Encapsulamento
Separação dos aspectos internos e externos dos objetos.
Atributos só podem ser acessados indiretamente através de métodos.
Em PHP: class Veiculo {private $nome;public function getNome() {
return $this->nome;}public function setNome($nome) {
$this->nome = $nome;}
}
Introdução ao PHP orientado a objetos com AJAX<Otávio Calaça Xavier> 15
Polimorfismo
Um mesmo método pode apresentar várias formas, de acordo com seu contexto.
Veiculoacelerar()
Carroacelerar()
Submarinoacelerar()
Aviãoacelerar()
Abstrato
Introdução ao PHP orientado a objetos com AJAX<Otávio Calaça Xavier> 16
Interfaces
Classe Avião estende a classe Veiculo Classe Urubu estende a classe Animal
Como definir o comportamento comum -voar - entre Urubu e Avião?
Veiculo
Carro Submarino Avião
Animal
Lobo Baleia Urubu
Introdução ao PHP orientado a objetos com AJAX<Otávio Calaça Xavier> 17
Interfaces(II)
Define um comportamento para classes de diferentes escopos.
Todos os métodos são públicos e abstratos
Veiculo
Carro Submarino Avião
Animal
Lobo Baleia Urubu
VoadoresInterface:
Introdução ao PHP orientado a objetos com AJAX<Otávio Calaça Xavier> 18
AJAX
Asynchronous Javascript And XML
Maior interação com o usuário.
Introdução ao PHP orientado a objetos com AJAX<Otávio Calaça Xavier> 19
AJAX
Servidor da Aplicação
WEB
NavegadorPag. WEB
Pag. WEB
Pag. WEB
Pag. WEB
Pag. WEB
Pag. WEB
Servidor da Aplicação
WEB
Navegador
Página da WEB
● Sem AJAX ● Com AJAX
Introdução ao PHP orientado a objetos com AJAX<Otávio Calaça Xavier> 20
O Objeto XMLHttpRequest Faz uma requisição assíncrona para o
servidor da aplicação. Pode atualizar o conteúdo da pagina sem
que esta seja recarregada. Ainda não é uma recomendação
padronizada pela W3C e sim um ‘esboço’ ou Working Draft.
Introdução ao PHP orientado a objetos com AJAX<Otávio Calaça Xavier> 21
O Objeto XMLHttpRequest (II) Também chamado de XHR Por não estar padronizado, pode ser
instanciado de formas diferentes de acordo com o navegador.
Internet Explorer:
Outros navegadores:xmlHttp = new ActiveXObject("Msxml2.XMLHTTP"); ouxmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
xmlHttp = new XMLHttpRequest();
Introdução ao PHP orientado a objetos com AJAX<Otávio Calaça Xavier> 22
Métodos do XHR abort(); getAllResponseHeaders() ; getResponseHeader("headername"); open("metodo","URL",async,"usuario",“senha"); send(content); setRequestHeader("label","value");
Introdução ao PHP orientado a objetos com AJAX<Otávio Calaça Xavier> 23
open() Especifica alguns atributos da requisição. 5 argumentos: 3 obrigatórios e 2 opcionais.
1º Arg: Método de envio: “GET” ou “POST” 2º Arg: URL que será requisitada. 3º Arg: Assíncrono? true ou false. 4º Arg: Usuário para acesso ao servidor. 5º Arg: Senha para acesso ao servidor.
Introdução ao PHP orientado a objetos com AJAX<Otávio Calaça Xavier> 24
send() e abort() send();
abort();
Envia a requisição.
Passa os parâmetros (POST).
Cancela a requisição.
Introdução ao PHP orientado a objetos com AJAX<Otávio Calaça Xavier> 25
Métodos de Cabeçalho
getResponseHeader("headername");
getAllResponseHeaders();
setRequestHeader("label","value");
Pega um parâmetro do cabeçalho de resposta.
Pega todos os parâmetros do cabeçalho de resposta em forma de string.
Seta um parâmetro do cabeçalho de envio.
Introdução ao PHP orientado a objetos com AJAX<Otávio Calaça Xavier> 26
Propriedades do XHR onreadystatechange readyState responseText responseXML status statusText
Introdução ao PHP orientado a objetos com AJAX<Otávio Calaça Xavier> 27
Propriedades do XHR onreadystatechange
readyState
Handler de um evento chamado em cada mudança de estado.
Estado atual do objeto. Pode ser:
0 = uninitialized1 = loading2 = loaded3 = interactive4 = complete
Introdução ao PHP orientado a objetos com AJAX<Otávio Calaça Xavier> 28
Propriedades do XHR responseText
responseXML
Resposta da requisição em formato texto ( string ).
Resposta da requisição em formato de XML (XML document object).
Introdução ao PHP orientado a objetos com AJAX<Otávio Calaça Xavier> 29
Propriedades do XHR status
statusText
Retorna o status como um numero. Ex: 200 para “OK”, 404 para “Not Found”...
Retorna o status em formato texto (string)Ex: “OK”, “Not Found”...
Introdução ao PHP orientado a objetos com AJAX<Otávio Calaça Xavier> 30
Criando Objeto XHR Exemplo: try
{ // Firefox, Opera 8.0+, Safari, etc... xmlHttp=new XMLHttpRequest(); } catch (e) { // Internet Explorer try { xmlHttp=new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { xmlHttp=new ActiveXObject("Microsoft.XMLHTTP"); } }
Introdução ao PHP orientado a objetos com AJAX<Otávio Calaça Xavier> 31
Requisitando com XHR Exemplo:
function ajax(url, metodo, parametros) { xmlHttp.onreadystatechange = mudouEstado; xmlHttp.open(metodo,url,true); xmlHttp.setRequestHeader("Content-length", parametros.length); xmlHttp.send(parametros); }
function mudouEstado() { if (xmlHttp.readyState==4 && xmlHttp.status == 200) {
texto = xmlHttp.responseText;xml = xmlHttp.responseXML;if(divNome) {
document.getElementById(divNome).innerHTML = texto;}
}}
Introdução ao PHP orientado a objetos com AJAX<Otávio Calaça Xavier> 32
FIM
Otávio Calaça Xavierotavio@javacerrado.org
top related