Preview only show first 10 pages with watermark. For full document please download

Ajax E Php

Apostila de Programação. Aqui nessa apostila você vai aprender a Introdução ao PHP orientado a objetos com Ajax. * Orientação a Objetos * Interfaces * O Objeto XMLHttpRequest * O Objeto XMLHttpRequest (II) * Métodos do XHR * open() * send() e abort() * Métodos de Cabeçalho * Propriedades do XHR * Criando Objeto XHR * Requisitando com XHR

   EMBED


Share

Transcript

Introdução ao PHP orientado a objetos com AJAX Otávio Calaça Xavier [email protected] Orientação a Objetos Classe  Objetos  Métodos  Atributos  Visibilidade  Construtores   Abstração  Interface  Herança  Encapsulamento  Polimorfismo  Destrutores Introdução ao PHP orientado a objetos com AJAX 2 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 class Veiculo {  Em PHP: // atributos  // métodos } Introdução ao PHP orientado a objetos com AJAX 3 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 4 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 5 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 6 Métodos Ações de um objeto definidas na classe que o abstrai.  Ex: darPartida(), acelerar(), frear().   Em PHP: class Veiculo { // atributos public function acelerar() { //algorítimo para acelerar } } $corsa = new Veiculo(); $corsa->acelerar(); Introdução ao PHP orientado a objetos com AJAX 7 Método Construtor Ação realizada no momento em que é criada uma nova instancia (objeto) de uma classe. class Veiculo {  Em PHP: __construct($nome) {  echo “veiculo ”.$nome.” criado!”; } } $corsa = new Veiculo('Corsa'); Saida: veiculo Corsa criado! Introdução ao PHP orientado a objetos com AJAX 8 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. class Veiculo {  Em PHP: 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 9 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 10 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 11 Herança Mecanismo pelo qual uma classe (subclasse) 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 12 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 13 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 14 Polimorfismo  Um mesmo método pode apresentar várias formas, de acordo com seu contexto. Abstrato Veiculo acelerar() Carro acelerar() Submarino acelerar() Avião acelerar() Introdução ao PHP orientado a objetos com AJAX 15 Interfaces Classe Avião estende a classe Veiculo  Classe Urubu estende a classe Animal  Veiculo Carro  Submarino Animal Avião Lobo Baleia Urubu Como definir o comportamento comum voar - entre Urubu e Avião? Introdução ao PHP orientado a objetos com AJAX 16 Interfaces(II)  Define um comportamento para classes de diferentes escopos. Interface: Voadores Veiculo Carro  Submarino Animal Avião Lobo Baleia Urubu Todos os métodos são públicos e abstratos Introdução ao PHP orientado a objetos com AJAX 17 AJAX  Asynchronous Javascript And XML  Maior interação com o usuário. Introdução ao PHP orientado a objetos com AJAX 18 AJAX Sem AJAX Navegador Pag. WEB Pag. WEB Pag. WEB Pag. WEB Servidor da Aplicação WEB Com AJAX Navegador Página da WEB Servidor da Aplicação WEB Pag. WEB Pag. WEB Introdução ao PHP orientado a objetos com AJAX 19 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 20 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:  xmlHttp = new ActiveXObject("Msxml2.XMLHTTP"); ou xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");  Outros navegadores: xmlHttp = new XMLHttpRequest(); Introdução ao PHP orientado a objetos com AJAX 21 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 22 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 23 send() e abort()  send(); Envia a requisição. Passa os parâmetros (POST).  abort(); Cancela a requisição. Introdução ao PHP orientado a objetos com AJAX 24 Métodos de Cabeçalho  getResponseHeader("headername"); Pega um parâmetro do cabeçalho de resposta.  getAllResponseHeaders(); Pega todos os parâmetros do cabeçalho de resposta em forma de string.  setRequestHeader("label","value"); Seta um parâmetro do cabeçalho de envio. Introdução ao PHP orientado a objetos com AJAX 25 Propriedades do XHR onreadystatechange  readyState  responseText  responseXML  status  statusText  Introdução ao PHP orientado a objetos com AJAX 26 Propriedades do XHR  onreadystatechange Handler de um evento chamado em cada mudança de estado.  readyState Estado atual do objeto. Pode ser: 0 = uninitialized 1 = loading 2 = loaded 3 = interactive 4 = complete Introdução ao PHP orientado a objetos com AJAX 27 Propriedades do XHR  responseText Resposta da requisição em formato texto ( string ).  responseXML Resposta da requisição em formato de XML (XML document object). Introdução ao PHP orientado a objetos com AJAX 28 Propriedades do XHR  status Retorna o status como um numero. Ex: 200 para “OK”, 404 para “Not Found”...  statusText Retorna o status em formato texto (string) Ex: “OK”, “Not Found”... Introdução ao PHP orientado a objetos com AJAX 29 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 30 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 31 FIM Otávio Calaça Xavier [email protected] Introdução ao PHP orientado a objetos com AJAX 32