PHP e AJAX: do Request ao Framework
-
Upload
rafael-dohms -
Category
Technology
-
view
2.667 -
download
4
description
Transcript of PHP e AJAX: do Request ao Framework
![Page 1: PHP e AJAX: do Request ao Framework](https://reader036.fdocuments.net/reader036/viewer/2022062513/554f56d2b4c905b9508b5123/html5/thumbnails/1.jpg)
Rafael Machado Dohms
![Page 2: PHP e AJAX: do Request ao Framework](https://reader036.fdocuments.net/reader036/viewer/2022062513/554f56d2b4c905b9508b5123/html5/thumbnails/2.jpg)
Esta palestra esta disponibilizada sob a licença Creative Commons Atribuição-Uso Não-Comercial-Compartilhamento pela mesma Licença 3.0 Genérica
Você pode: copiar, distribuir, exibir e executar a obra criar obras derivadas
Sob as seguintes condições: Atribuição. Você deve dar crédito ao autor original, da forma
especificada pelo autor ou licenciante. Uso Não-Comercial. Você não pode utilizar esta obra com
finalidades comerciais. Compartilhamento pela mesma Licença. Se você alterar,
transformar, ou criar outra obra com base nesta, você somente poderá distribuir a obra resultante sob uma licença idêntica a esta.
http://creativecommons.org/licenses/by-nc-sa/3.0/
# 2
![Page 3: PHP e AJAX: do Request ao Framework](https://reader036.fdocuments.net/reader036/viewer/2022062513/554f56d2b4c905b9508b5123/html5/thumbnails/3.jpg)
Pré-RequisitosO que é AJAX?
Como funciona? O Objeto XMLHttpRequest
Onde devo usar?Quem está usando?Caminhos para o aprendizadoPrática 1: no braçoPrática 2: XAJAXOutras soluções e comentários
# 3
![Page 4: PHP e AJAX: do Request ao Framework](https://reader036.fdocuments.net/reader036/viewer/2022062513/554f56d2b4c905b9508b5123/html5/thumbnails/4.jpg)
JavascriptDOM (Document Object Model) Javascript com XMLPHP com XMLMySQL e conexão com Banco de
DadosNoções de OO
# 4
![Page 5: PHP e AJAX: do Request ao Framework](https://reader036.fdocuments.net/reader036/viewer/2022062513/554f56d2b4c905b9508b5123/html5/thumbnails/5.jpg)
Rafael Machado Dohms é Engenheiro da Computação formado pelo Centro Universitário de Brasília, natural de Porto Alegre/RS. Atua na área de desenvolvimento e implementação de projetos de sistemas web-based, e Desenvolvedor Senior da MIH/SWAT.
Com mais de 8 anos de expêriencia em PHP, tirou a certificação ZCE, ajudou a fundar o PHPDF e hoje atua no PHPSP e PHPBC.
# 5
![Page 6: PHP e AJAX: do Request ao Framework](https://reader036.fdocuments.net/reader036/viewer/2022062513/554f56d2b4c905b9508b5123/html5/thumbnails/6.jpg)
Apresentar a técnica de programação conhecida como AJAX, apresentando sua forma de trabalho e demonstrando como aproveitar a biblioteca XAJAX.
# 6
![Page 7: PHP e AJAX: do Request ao Framework](https://reader036.fdocuments.net/reader036/viewer/2022062513/554f56d2b4c905b9508b5123/html5/thumbnails/7.jpg)
Não é uma tecnologia nova! Nova forma de se utilizar tecnologias já
consolidadas: CSS, DOM, JS e o XMLHttpRequest
Asyncronous Javascript And XML Envio assíncrono de dados Grandes por míudos:
▪ Enviar e receber dados novos sem recarregar a página (background)
# 7
![Page 8: PHP e AJAX: do Request ao Framework](https://reader036.fdocuments.net/reader036/viewer/2022062513/554f56d2b4c905b9508b5123/html5/thumbnails/8.jpg)
# 8
ApacheIIS
Lighthttp...
ApacheIIS
Lighthttp...
PHPASPJSP
Ruby ...
PHPASPJSP
Ruby ...
![Page 9: PHP e AJAX: do Request ao Framework](https://reader036.fdocuments.net/reader036/viewer/2022062513/554f56d2b4c905b9508b5123/html5/thumbnails/9.jpg)
Histórico 2000 - Criado pela Microsoft para o
Outlook WebAccess 2002 – Incorporado no Mozilla 2006 – Publicado o primeiro Draft na
W3C▪ http://www.w3.org/TR/XMLHttpRequest/▪ Ainda não é um padrão, por isso cada
browser difere do outro (última atualização do RPC em 15/4/08)
# 9
![Page 10: PHP e AJAX: do Request ao Framework](https://reader036.fdocuments.net/reader036/viewer/2022062513/554f56d2b4c905b9508b5123/html5/thumbnails/10.jpg)
Propriedades readyState
▪ 0 = uninitialized (não inicializado)▪ 1 = opened (aberto)▪ 2 = headers_received (cabeçalhos recebidos)▪ 3 = loading (carregando)▪ 4 = done (pronto)
responseText responseXML Status (200,404,403...) statusText (Not found…) onreadystatechange -- evento
# 10
![Page 11: PHP e AJAX: do Request ao Framework](https://reader036.fdocuments.net/reader036/viewer/2022062513/554f56d2b4c905b9508b5123/html5/thumbnails/11.jpg)
Métodos open("method","URL",async,"uname","ps
wd") ▪ Ex: open(“POST”,”arquivo.php”,true);
setRequestHeader("label","value") send(content) getResponseHeader("headername") getAllResponseHeaders() abort()
# 11
![Page 12: PHP e AJAX: do Request ao Framework](https://reader036.fdocuments.net/reader036/viewer/2022062513/554f56d2b4c905b9508b5123/html5/thumbnails/12.jpg)
Use: Auto-complete Validação complexa de dados Criação de subitens de um item maior Carregar dados externos de acordo com
parâmetros em tempo real Validação/Processamento de dados
confiávies Não use:
Navegação Carregar Texto em sites que devem ser
indexados# 12
![Page 13: PHP e AJAX: do Request ao Framework](https://reader036.fdocuments.net/reader036/viewer/2022062513/554f56d2b4c905b9508b5123/html5/thumbnails/13.jpg)
Sem utilizar bibliotecas/frameworks Vantagens:
▪ Maio domínio da ferramenta▪ Maior controle (como e onde)
Desvantagens▪ Tempo e esforço
Utilizando bibliotecas/frameworks Vantagens
▪ Produtividade acelerada▪ JavaScript opcional / facilitado▪ Menos pré-requisitos
Desvantagem▪ Refém da biblioteca▪ Pouco conhecimento do “por trás das cortinas”
# 13
![Page 14: PHP e AJAX: do Request ao Framework](https://reader036.fdocuments.net/reader036/viewer/2022062513/554f56d2b4c905b9508b5123/html5/thumbnails/14.jpg)
# 14
![Page 15: PHP e AJAX: do Request ao Framework](https://reader036.fdocuments.net/reader036/viewer/2022062513/554f56d2b4c905b9508b5123/html5/thumbnails/15.jpg)
Fazendo tudo no braço!
# 15
![Page 16: PHP e AJAX: do Request ao Framework](https://reader036.fdocuments.net/reader036/viewer/2022062513/554f56d2b4c905b9508b5123/html5/thumbnails/16.jpg)
Objetivo Mural de recados
Funcionalidades Adição de mensagens Visualização de mensagens
Material PHP Base de dados
# 16
O browser FireFox possui uma extensão (componente) chamado FireBug que ajuda muito a debugar sites com AJAX, pois mostra todas requisições feitas, o que foi enviado e o que foi recebido
![Page 17: PHP e AJAX: do Request ao Framework](https://reader036.fdocuments.net/reader036/viewer/2022062513/554f56d2b4c905b9508b5123/html5/thumbnails/17.jpg)
# 17
![Page 18: PHP e AJAX: do Request ao Framework](https://reader036.fdocuments.net/reader036/viewer/2022062513/554f56d2b4c905b9508b5123/html5/thumbnails/18.jpg)
Funções Javascript criaRequest
▪ Cria uma instância do objeto XmlHttpRequest enviaDados()
▪ Reúne os dados▪ Usa o Request para enviar os dados por POST▪ Define função de retorno
recebeDados()▪ Verifica estado▪ Recebe valores▪ Altera DOM
# 18
![Page 19: PHP e AJAX: do Request ao Framework](https://reader036.fdocuments.net/reader036/viewer/2022062513/554f56d2b4c905b9508b5123/html5/thumbnails/19.jpg)
Funções PHP gravaDepoimento
▪ Recebe Dados do POST▪ Grava no banco
montaTemplate▪ Monta template▪ Monta XML de resposta▪ Retorna dados
# 19
![Page 20: PHP e AJAX: do Request ao Framework](https://reader036.fdocuments.net/reader036/viewer/2022062513/554f56d2b4c905b9508b5123/html5/thumbnails/20.jpg)
Retorno XML
# 20
![Page 21: PHP e AJAX: do Request ao Framework](https://reader036.fdocuments.net/reader036/viewer/2022062513/554f56d2b4c905b9508b5123/html5/thumbnails/21.jpg)
# 21
![Page 22: PHP e AJAX: do Request ao Framework](https://reader036.fdocuments.net/reader036/viewer/2022062513/554f56d2b4c905b9508b5123/html5/thumbnails/22.jpg)
O que é? Biblioteca em PHP, que implementa as
funções javascript necessáriasOnde?
http://www.xajaxproject.org/
# 22
![Page 23: PHP e AJAX: do Request ao Framework](https://reader036.fdocuments.net/reader036/viewer/2022062513/554f56d2b4c905b9508b5123/html5/thumbnails/23.jpg)
# 23
![Page 24: PHP e AJAX: do Request ao Framework](https://reader036.fdocuments.net/reader036/viewer/2022062513/554f56d2b4c905b9508b5123/html5/thumbnails/24.jpg)
Usando XAJAX, goodbye JavaScript
# 24
![Page 25: PHP e AJAX: do Request ao Framework](https://reader036.fdocuments.net/reader036/viewer/2022062513/554f56d2b4c905b9508b5123/html5/thumbnails/25.jpg)
Objetivo Mural de recados
Funcionalidades Adição de mensagens Visualização de mensagens Remoção
Material PHP XAJAX Base de dados
# 25
![Page 26: PHP e AJAX: do Request ao Framework](https://reader036.fdocuments.net/reader036/viewer/2022062513/554f56d2b4c905b9508b5123/html5/thumbnails/26.jpg)
# 26
![Page 27: PHP e AJAX: do Request ao Framework](https://reader036.fdocuments.net/reader036/viewer/2022062513/554f56d2b4c905b9508b5123/html5/thumbnails/27.jpg)
Funções XAJAX gravaDepoimento
▪ Recebe os dados▪ Validação dos dados▪ Insere no banco▪ Gera retorno
delDepoimento▪ Recebe id do depoimento▪ Deleta do banco▪ Define ações javascript
# 27
![Page 28: PHP e AJAX: do Request ao Framework](https://reader036.fdocuments.net/reader036/viewer/2022062513/554f56d2b4c905b9508b5123/html5/thumbnails/28.jpg)
Bibliotecas Javascript
▪ Prototype, DoJo, JQuery PHP
▪ SAJAX (http://www.modernmethod.com/sajax/)▪ PEAR::HTML_AJAX
(http://pear.php.net/package/HTML_AJAX)▪ Xajax (http://www.xajaxproject.org/)▪ Zend FrameWork with DoJo (http://framework.zend.com)
Soluções Javascript Remote Invocation XML RPC Flash Remoting
Segurança??
# 28
![Page 29: PHP e AJAX: do Request ao Framework](https://reader036.fdocuments.net/reader036/viewer/2022062513/554f56d2b4c905b9508b5123/html5/thumbnails/29.jpg)
JSON: Javascript Object Notation Ganhou muito espaço recentemente Implementado nativamente no PHP 5.2.1
▪ json_encode e json_decode
Processamento mais ágil
# 29
![Page 30: PHP e AJAX: do Request ao Framework](https://reader036.fdocuments.net/reader036/viewer/2022062513/554f56d2b4c905b9508b5123/html5/thumbnails/30.jpg)
… e Perguntas
# 30
Blog: www.rafaeldohms.com.brEmail: [email protected]:
FireFox: http://www.getfirefox.com/FireBug:
http://www.getfirebug.com/ Xajax:
http://www.xajaxproject.org/
Slides: http://www.rafaeldohms.com.br/palestras