Você está na página 1de 32

Introduo ao PHP

orientado a objetos
com AJAX
Otvio Calaa Xavier
otavio@javacerrado.org
Introduo ao PHP orientado a objetos com AJAX
<Otvio Calaa Xavier> 2
Orientao a Objetos

Classe

Objetos

Mtodos

Atributos

!isibilidade

Construtores

Abstrao

Inter"ace

Herana

#nca$sulamento

Polimor"ismo

%estrutores
Introduo ao PHP orientado a objetos com AJAX
<Otvio Calaa Xavier> 3
Classe

&e$resentao abstrata de objetos com


caracter'sticas a"ins(

%e"ine e %escreve as a)es $rovidas $elos


seus objetos* bem como as in"orma)es
+ue esses $odem conter(

#,- !e'culo

#m PHP-
class !eiculo .
// atributos
// mtodos
0
Introduo ao PHP orientado a objetos com AJAX
<Otvio Calaa Xavier> 4
Abstrao

Habilidade de se concentrar nas $artes


$rinci$ais de um determinado conte,to
des$re1ando as caracter'sticas menos
im$ortantes ou acidentais(
Introduo ao PHP orientado a objetos com AJAX
<Otvio Calaa Xavier> 5
Objetos

Instancia de uma classe

Im$lementao de uma classe +ue $rove


as a)es 2mtodos3 e in"orma)es
2atributos3 +ue esta classe de"ine e
descreve(

#,- Corsa

#m PHP-
4corsa 5 ne6 !eiculo237
Introduo ao PHP orientado a objetos com AJAX
<Otvio Calaa Xavier> 6
Atributos

Caracter'sticas ou in"orma)es dos objetos

#,- cor* ano* modelo* marca(

#m PHP-
class !eiculo .
$ublic 4cor7
$ublic 4modelo7
// mtodos
0
4corsa 5 ne6 !eiculo237
4corsa8>cor 5 9:ranco;7
4corsa8>modelo 5 9<edan;7
Introduo ao PHP orientado a objetos com AJAX
<Otvio Calaa Xavier> 7
Mtodos

A)es de um objeto de"inidas na classe


+ue o abstrai(

#,- darPartida23* acelerar23* "rear23(

#m PHP-
class !eiculo .
// atributos
$ublic "unction acelerar23 .
//al=or'timo $ara acelerar
0
0
4corsa 5 ne6 !eiculo237
4corsa8>acelerar237
Introduo ao PHP orientado a objetos com AJAX
<Otvio Calaa Xavier> 8
Mtodo Construtor

Ao reali1ada no momento em +ue


criada uma nova instancia 2objeto3 de uma
classe(

#m PHP-
class !eiculo .
>>construct24nome3 .
ec?o 9veiculo ;(4nome(; criado@;7
0
0
4corsa 5 ne6 !eiculo2ACorsaA37
<aida-
veiculo Corsa criado@
Introduo ao PHP orientado a objetos com AJAX
<Otvio Calaa Xavier> 9
Mtodo Destrutor

Mtodo +ue ser c?amado assim +ue


todas as re"erBncias a um objeto $articular
"orem removidas ou +uando o objeto "or
e,$licitamente destru'do(

#m PHP-
class !eiculo .
$rivate 4nome7
"unction >>construct24nome3 .
4t?is8>nome 5 4nome7
ec?o CCriando veiculo C(4t?is8>nome(CDnC7
0
"unction >>destruct23 .
ec?o C%estruindo veiculo C(4t?is8>nome(CDnC7
0
0
Introduo ao PHP orientado a objetos com AJAX
<Otvio Calaa Xavier> 10
Classe e Mtodo Abstrato

%escreve um com$ortamento =eral $ara as


sub8classes de uma classe(

<omente o +ue "aro e no como "aro(

A classe +ue tem um mtodo abstrato


tambm deve ser declarada como abstrata(

Eodas as sub8classes da classe abstrata


devem sobrescrever seus mtodo
abstratos(
Introduo ao PHP orientado a objetos com AJAX
<Otvio Calaa Xavier> 11
Atributos e Mtodos estticos

<e re"erem a classe e no aos objetos


desta(

Fo $recisa de instanciar a classe(

#m PHP- class !eiculo .


$ublic static 4+uantidade 5 9G;7
0
ec?o !eiculo--4+uantidade7
<aida- 1
4corsa 5 ne6 !eiculo237
ec?o 4corsa8>+uantidade7
<aida- #rro@
Introduo ao PHP orientado a objetos com AJAX
<Otvio Calaa Xavier> 12
Herana

Mecanismo $elo +ual uma classe 2sub8


classe3 $ode estender uma outra classe
2su$er8classe3 visando menos re$etio de
codi=o(

#,- classe Moto estende classe !e'culo(

#m PHP-
class Moto e,tends !eiculo .
//metodos e atributos da classe Moto(
0
4c=Eitan 5 ne6 Moto237
5> 4c=Eitan contem todos os mtodos e atributos dos ve'culos
Introduo ao PHP orientado a objetos com AJAX
<Otvio Calaa Xavier> 13
Visibilidade

Modi"icadores de acesso(

Public 5> $ode ser acessado em todo o


esco$o do $ro=rama

Protected 5> acess'vel a$enas na classe


em +ue "oi declarado e em suas "il?as
2sub8classes3

Private 5> acess'vel a$enas na classe


onde "oi declarado(
Introduo ao PHP orientado a objetos com AJAX
<Otvio Calaa Xavier> 14
Encapsulamento

<e$arao dos as$ectos internos e


e,ternos dos objetos(

Atributos sH $odem ser acessados


indiretamente atravs de mtodos(

#m PHP-
class !eiculo .
$rivate 4nome7
$ublic "unction =etFome23 .
return 4t?is8>nome7
0
$ublic "unction setFome24nome3 .
4t?is8>nome 5 4nome7
0
0
Introduo ao PHP orientado a objetos com AJAX
<Otvio Calaa Xavier> 15
Polimorismo

Im mesmo mtodo $ode a$resentar vrias


"ormas* de acordo com seu conte,to(
!eiculo
acelerar()
Carro
acelerar()
<ubmarino
acelerar()
Avio
acelerar()
Abstrato
Introduo ao PHP orientado a objetos com AJAX
<Otvio Calaa Xavier> 16
!nteraces

Classe Avio estende a classe !eiculo

Classe Irubu estende a classe Animal

Como de"inir o com$ortamento comum 8


"oar 8 entre Irubu e AvioJ
!eiculo
Carro <ubmarino Avio
Animal
Kobo :aleia Irubu
Introduo ao PHP orientado a objetos com AJAX
<Otvio Calaa Xavier> 17
!nteraces#!!$

%e"ine um com$ortamento $ara classes de


di"erentes esco$os(

Eodos os mtodos so $Lblicos e abstratos


!eiculo
Carro <ubmarino Avio
Animal
Kobo :aleia Irubu
!oadores
Inter"ace-
Introduo ao PHP orientado a objetos com AJAX
<Otvio Calaa Xavier> 18
A%A&

AsMnc?ronous Javascri$t And XMK

Maior interao com o usurio(


Introduo ao PHP orientado a objetos com AJAX
<Otvio Calaa Xavier> 19
A%A&
<ervidor da
A$licao
N#:
Fave=ador
Pa=( N#:
Pa=( N#:
Pa=( N#:
Pa=( N#:
Pa=( N#:
Pa=( N#:
<ervidor da
A$licao
N#:
Fave=ador
P=ina
da N#:

<em AJAX

Com AJAX
Introduo ao PHP orientado a objetos com AJAX
<Otvio Calaa Xavier> 20
O Objeto &M'Http(e)uest

Oa1 uma re+uisio ass'ncrona $ara o


servidor da a$licao(

Pode atuali1ar o conteLdo da $a=ina sem


+ue esta seja recarre=ada(

Ainda no uma recomendao


$adroni1ada $ela NPC e sim um QesbooR
ou Working Draft.
Introduo ao PHP orientado a objetos com AJAX
<Otvio Calaa Xavier> 21
O Objeto &M'Http(e)uest #!!$

Eambm c?amado de XH&

Por no estar $adroni1ado* $ode ser


instanciado de "ormas di"erentes de acordo
com o nave=ador(

Internet #,$lorer-

Outros nave=adores-
,mlHtt$ 5 ne6 ActiveXObject2CMs,mlS(XMKHEEPC37 ou
,mlHtt$ 5 ne6 ActiveXObject2CMicroso"t(XMKHEEPC37
,mlHtt$ 5 ne6 XMKHtt$&e+uest237
Introduo ao PHP orientado a objetos com AJAX
<Otvio Calaa Xavier> 22
Mtodos do &H(

abort237

=etAll&es$onseHeaders23 7

=et&es$onseHeader2C?eadernameC37

o$en2CmetodoC*CI&KC*asMnc*CusuarioC*9sen?aC37

send2content37

set&e+uestHeader2ClabelC*CvalueC37
Introduo ao PHP orientado a objetos com AJAX
<Otvio Calaa Xavier> 23
open#$

#s$eci"ica al=uns atributos da re+uisio(

T ar=umentos- P obri=atHrios e S o$cionais(

GU Ar=- Mtodo de envio- 9V#E; ou 9PO<E;

SU Ar=- I&K +ue ser re+uisitada(

PU Ar=- Ass'ncronoJ true ou "alse(

WU Ar=- Isurio $ara acesso ao servidor(

TU Ar=- <en?a $ara acesso ao servidor(


Introduo ao PHP orientado a objetos com AJAX
<Otvio Calaa Xavier> 24
send#$ e abort#$

send237

abort237
#nvia a re+uisio(
Passa os $arXmetros 2PO<E3(
Cancela a re+uisio(
Introduo ao PHP orientado a objetos com AJAX
<Otvio Calaa Xavier> 25
Mtodos de Cabeal*o

=et&es$onseHeader2C?eadernameC37

=etAll&es$onseHeaders237

set&e+uestHeader2ClabelC*CvalueC37
Pe=a um $arXmetro do cabeal?o de res$osta(
Pe=a todos os $arXmetros do cabeal?o de
res$osta em "orma de strin=(
<eta um $arXmetro do cabeal?o de envio(
Introduo ao PHP orientado a objetos com AJAX
<Otvio Calaa Xavier> 26
Propriedades do &H(

onreadMstatec?an=e

readM<tate

res$onseEe,t

res$onseXMK

status

statusEe,t
Introduo ao PHP orientado a objetos com AJAX
<Otvio Calaa Xavier> 27
Propriedades do &H(

onreadMstatec?an=e

readM<tate
Handler de um evento c?amado em cada mudana de estado(
#stado atual do objeto( Pode ser-
Y 5 uninitiali1ed
G 5 loadin=
S 5 loaded
P 5 interactive
W 5 com$lete
Introduo ao PHP orientado a objetos com AJAX
<Otvio Calaa Xavier> 28
Propriedades do &H(

res$onseEe,t

res$onseXMK
&es$osta da re+uisio em "ormato te,to 2 strin= 3(
&es$osta da re+uisio em "ormato de XMK 2XMK
document object3(
Introduo ao PHP orientado a objetos com AJAX
<Otvio Calaa Xavier> 29
Propriedades do &H(

status

statusEe,t
&etorna o status como um numero(
#,- SYY $ara 9OZ;* WYW $ara 9Fot Oound;(((
&etorna o status em "ormato te,to 2strin=3
#,- 9OZ;* 9Fot Oound;(((
Introduo ao PHP orientado a objetos com AJAX
<Otvio Calaa Xavier> 30
Criando Objeto &H(

#,em$lo-
trM
.
// Oire"o,* O$era [(Y\* <a"ari* etc(((
,mlHtt$5ne6 XMKHtt$&e+uest237
0
catc? 2e3
.
// Internet #,$lorer
trM
.
,mlHtt$5ne6
ActiveXObject2CMs,mlS(XMKHEEPC37
0
catc? 2e3
.
,mlHtt$5ne6
ActiveXObject2CMicroso"t(XMKHEEPC37
0
0
Introduo ao PHP orientado a objetos com AJAX
<Otvio Calaa Xavier> 31
(e)uisitando com &H(

#,em$lo-
"unction aja,2url* metodo* $arametros3 .
,mlHtt$(onreadMstatec?an=e 5 mudou#stado7
,mlHtt$(o$en2metodo*url*true37
,mlHtt$(set&e+uestHeader2CContent8len=t?C* $arametros(len=t?37
,mlHtt$(send2$arametros37
0
"unction mudou#stado23 .
i" 2,mlHtt$(readM<tate55W ]] ,mlHtt$(status 55 SYY3 .
te,to 5 ,mlHtt$(res$onseEe,t7
,ml 5 ,mlHtt$(res$onseXMK7
i"2divFome3 .
document(=et#lement:MId2divFome3(innerHEMK 5 te,to7
0
0
0
Introduo ao PHP orientado a objetos com AJAX
<Otvio Calaa Xavier> 32
+!M
Otvio Calaa Xavier
otavio@javacerrado.org

Você também pode gostar