PHP e AJAX: do Request ao Framework

30
Rafael Machado Dohms

description

Palestra apresentada na Semana ca Computação na UNIDERP em Mato Grosso do Sul

Transcript of PHP e AJAX: do Request ao Framework

Page 1: PHP e AJAX: do Request ao Framework

Rafael Machado Dohms

Page 2: PHP e AJAX: do Request ao Framework

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

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

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

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

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

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

# 8

ApacheIIS

Lighthttp...

ApacheIIS

Lighthttp...

PHPASPJSP

Ruby ...

PHPASPJSP

Ruby ...

Page 9: PHP e AJAX: do Request ao Framework

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

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

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

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

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

# 14

Page 15: PHP e AJAX: do Request ao Framework

Fazendo tudo no braço!

# 15

Page 16: PHP e AJAX: do Request ao Framework

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

# 17

Page 18: PHP e AJAX: do Request ao Framework

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

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

Retorno XML

# 20

Page 21: PHP e AJAX: do Request ao Framework

# 21

Page 22: PHP e AJAX: do Request ao Framework

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

# 23

Page 24: PHP e AJAX: do Request ao Framework

Usando XAJAX, goodbye JavaScript

# 24

Page 25: PHP e AJAX: do Request ao Framework

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

# 26

Page 27: PHP e AJAX: do Request ao Framework

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

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

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

… 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