Escolar Documentos
Profissional Documentos
Cultura Documentos
Apresentacao PHPSC 2010 ZF
Apresentacao PHPSC 2010 ZF
Apresentacao PHPSC 2010 ZF
:mpleme!tao fi!al
.a!aSia
% &'( '3 P,.RD% .( PR%G(*% /D% )
www.fgsl.eti.br permitida a reproduo, desde que itada a fo!te
PHPSC Conf 2! " um dos maiores e#entos de PHP do $rasil
+Frameworks %,' ' -a$% a)&'
n./e) de reuso
E)e% &en&a- de%&$)a# ' (#'0e&' de
%'1&2a#e e $den&$1$3a# a%
abstraes-chave (a#a #e%')/e#
4- (#'5)e-a6
+riB Gamma em e!trevista a Till $e!!ers
www.fgsl.eti.br permitida a reproduo, desde que itada a fo!te
PHPSC Conf 2! " um dos maiores e#entos de PHP do $rasil
+C'n%$# 4- 1#a-e2'#7 8 4-
a)&' #$%3' e 4- $n/e%&$-en&'
%$gn$1$3a&$/'6+riB Gamma em e!trevista a Till $e!!ers
www.fgsl.eti.br permitida a reproduo, desde que itada a fo!te
PHPSC Conf 2! " um dos maiores e#entos de PHP do $rasil
Zend Framework
+Se /'39 #ea)-en&e :4e# a%%4-$#
' #$%3' de 3'n%$# 1#a-e2'#7%,
/'39 :4e# &e# '% menores e mais
focados 1#a-e2'#7% :4e /'39
&a-58- ('de (#'/a/e)-en&e
&'#na# opcionais6
+riB Gamma em e!trevista a Till $e!!ers
www.fgsl.eti.br permitida a reproduo, desde que itada a fo!te
PHPSC Conf 2! " um dos maiores e#entos de PHP do $rasil
O que Zend
Framewor!
www.fgsl.eti.br permitida a reproduo, desde que itada a fo!te
PHPSC Conf 2! " um dos maiores e#entos de PHP do $rasil
*Jtulo da ,presentao
"m #ramewor
completo!
"ma biblioteca
de componentes!
www.fgsl.eti.br permitida a reproduo, desde que itada a fo!te
PHPSC Conf 2! " um dos maiores e#entos de PHP do $rasil
$s duas coisas
Fo!te1 QQQ"oisas.blogspot.om
www.fgsl.eti.br permitida a reproduo, desde que itada a fo!te
PHPSC Conf 2! " um dos maiores e#entos de PHP do $rasil
Ou at mais que isso
Zend Framework
www.fgsl.eti.br permitida a reproduo, desde que itada a fo!te
PHPSC Conf 2! " um dos maiores e#entos de PHP do $rasil
30C
7o!troller
$iew
.ata
9atabase
/4L
SearB
.9F
i!<n
Loale
=ra!slate
4easure
9ate
7ale!dar
7urre!3
+eK Ser#ices
Feed
7lie!t
Server
Servies
Core
7o!fig
Log
Cegistr3
Sessio!
7aBe
SecuritL
?l
?utB
Filter
$alidate
www.fgsl.eti.br permitida a reproduo, desde que itada a fo!te
PHPSC Conf 2! " um dos maiores e#entos de PHP do $rasil
Zend Framewor
uma biblioteca de
componentes
fracamente
acoplados.
www.fgsl.eti.br permitida a reproduo, desde que itada a fo!te
PHPSC Conf 2! " um dos maiores e#entos de PHP do $rasil
Pra quem s quer trocar uma
pea e no o carro inteiro...
Fo!te1 i!fo.abril.om.br
www.fgsl.eti.br permitida a reproduo, desde que itada a fo!te
PHPSC Conf 2! " um dos maiores e#entos de PHP do $rasil
rquitetura !elf-!ervice
www.fgsl.eti.br permitida a reproduo, desde que itada a fo!te
PHPSC Conf 2! " um dos maiores e#entos de PHP do $rasil
Outros
#ramewors
podem usar
componentes
do Zend
www.fgsl.eti.br permitida a reproduo, desde que itada a fo!te
PHPSC Conf 2! " um dos maiores e#entos de PHP do $rasil
Zend Framewor um
#ramewor
e"tens#vel e fle"#vel.
Fo!te1 emule.om.br Fo!te1 o!li!e;!aweb.blogspot.om
www.fgsl.eti.br permitida a reproduo, desde que itada a fo!te
PHPSC Conf 2! " um dos maiores e#entos de PHP do $rasil
$F pode usar
outros
#ramewors
e componentes
como se #ossem
realmente parte
dele
www.fgsl.eti.br permitida a reproduo, desde que itada a fo!te
PHPSC Conf 2! " um dos maiores e#entos de PHP do $rasil
%ais do que isso&
arquitetura do $end
Frame'or( aproveita o
modelo de ne)*cio de
soft'are livre e evita
for(s&
www.fgsl.eti.br permitida a reproduo, desde que itada a fo!te
PHPSC Conf 2! " um dos maiores e#entos de PHP do $rasil
". =+<0) >4 .C)TL+4?6
-. C+S)L$: ) .C)TL+4?6
&.+L) 4+<)S ?G)C?...#
(. >S) ? 7)4><:9?9+
*. <A) .)SS) +S.+C?C6
,. F?@) >4 F)CU &)> .)G#
V. + S+ =:$+C Q>+ F?W+C
4?<>=+<@A)?
METODOLOG!
"#$O %&E'O (!G!' E TE#)O ('!*O ('! E#T'EG!'+
www.fgsl.eti.br permitida a reproduo, desde que itada a fo!te
PHPSC Conf 2! " um dos maiores e#entos de PHP do $rasil
". =+<0) >4 .C)TL+4?6
(. >S) ? 7)4><:9?9+
*. <A) .)SS) +S.+C?C6
METODOLOG!
"O *E# DO *E#D F'!ME,O'-+
-. C+S)L$: ) .C)TL+4?
.2R(2*%6
,. (S*(/.%M >S?<9)
? :<=+CF?7+ P,.RD%,
+ S>T4+=) .C? 7)4><:9?9+
V. ) Q>+ F): .C?
7)4><:9?9+ S+CX
*(S*,.%, ,P(RF(2H%,.% +
.)9+C+: >=:L:W?C S+4
7?>S?C :4.?7=) <?
?.L:7?@A)6
www.fgsl.eti.br permitida a reproduo, desde que itada a fo!te
PHPSC Conf 2! " um dos maiores e#entos de PHP do $rasil
$al = Zend_Loader_Autoloader::getInstance();
$al->registerNamespace('Serpro_');
$al->registerNamespace(array('elepar_'!
'"atapre#_'! '$%_'));
S%1'HD% 23(.2,*,
C%3'/2.,.(
S%1'HD%
,P(RF(2H%,.,
$al = Zend_Loader_Autoloader::getInstance();
$al->registerNamespace('Serpro_');
$al->registerNamespace(array('elepar_'!
'"atapre#_'! '$%_'));
www.fgsl.eti.br permitida a reproduo, desde que itada a fo!te
PHPSC Conf 2! " um dos maiores e#entos de PHP do $rasil
*Jtulo da ,presentao
Parceiros e +nvestidores
www.fgsl.eti.br permitida a reproduo, desde que itada a fo!te
PHPSC Conf 2! " um dos maiores e#entos de PHP do $rasil
,icena ne' -!.
/, 0 /ontri1utor
,icense )reement
www.fgsl.eti.br permitida a reproduo, desde que itada a fo!te
PHPSC Conf 2! " um dos maiores e#entos de PHP do $rasil
Caractersticas e Funcionalidades
www.fgsl.eti.br permitida a reproduo, desde que itada a fo!te
PHPSC Conf 2! " um dos maiores e#entos de PHP do $rasil
30C
Controller
0iew
www.fgsl.eti.br permitida a reproduo, desde que itada a fo!te
PHPSC Conf 2! " um dos maiores e#entos de PHP do $rasil
7o!troller
$iew 4odel
O Controlador observa a %iso
www.fgsl.eti.br permitida a reproduo, desde que itada a fo!te
PHPSC Conf 2! " um dos maiores e#entos de PHP do $rasil
O Controlador obtm dados da %iso
7o!troller
$iew 4odel
www.fgsl.eti.br permitida a reproduo, desde que itada a fo!te
PHPSC Conf 2! " um dos maiores e#entos de PHP do $rasil
O Controlador atuali&a o Modelo
7o!troller
$iew 4odel
www.fgsl.eti.br permitida a reproduo, desde que itada a fo!te
PHPSC Conf 2! " um dos maiores e#entos de PHP do $rasil
O Modelo noti#ica a %iso
7o!troller
$iew 4odel
www.fgsl.eti.br permitida a reproduo, desde que itada a fo!te
PHPSC Conf 2! " um dos maiores e#entos de PHP do $rasil
$ %iso obtm os dados do Modelo
7o!troller
$iew 4odel
www.fgsl.eti.br permitida a reproduo, desde que itada a fo!te
PHPSC Conf 2! " um dos maiores e#entos de PHP do $rasil
C12(/*
S(R0(R
H**P
R(&'(S*
H**P
R(SP%/S(
$
7 4
www.fgsl.eti.br permitida a reproduo, desde que itada a fo!te
PHPSC Conf 2! " um dos maiores e#entos de PHP do $rasil
Que li!do6
www.fgsl.eti.br permitida a reproduo, desde que itada a fo!te
PHPSC Conf 2! " um dos maiores e#entos de PHP do $rasil
4as a realidade S mais dura...
www.fgsl.eti.br permitida a reproduo, desde que itada a fo!te
PHPSC Conf 2! " um dos maiores e#entos de PHP do $rasil
Quebra de .aradigma
www.fgsl.eti.br permitida a reproduo, desde que itada a fo!te
PHPSC Conf 2! " um dos maiores e#entos de PHP do $rasil
O Controlador no observa a %iso
7o!troller
$iew 4odel
www.fgsl.eti.br permitida a reproduo, desde que itada a fo!te
PHPSC Conf 2! " um dos maiores e#entos de PHP do $rasil
$ %iso no observa o Modelo
7o!troller
$iew 4odel
www.fgsl.eti.br permitida a reproduo, desde que itada a fo!te
PHPSC Conf 2! " um dos maiores e#entos de PHP do $rasil
$ %iso no #ala com o Controlador
7o!troller
$iew 4odel
Fro!t
7o!troller
www.fgsl.eti.br permitida a reproduo, desde que itada a fo!te
PHPSC Conf 2! " um dos maiores e#entos de PHP do $rasil
'oda requisio vai para o Front Controller
7o!troller
$iew 4odel
Fro!t
7o!troller
H**P
R(&'(S*
www.fgsl.eti.br permitida a reproduo, desde que itada a fo!te
PHPSC Conf 2! " um dos maiores e#entos de PHP do $rasil
O Front Controller desi(na um Pa(e Controller
7o!troller
$iew 4odel
Fro!t
7o!troller
H**P
R(&'(S*
(6(C'*(
www.fgsl.eti.br permitida a reproduo, desde que itada a fo!te
PHPSC Conf 2! " um dos maiores e#entos de PHP do $rasil
$ %iso obtm os dados do Modelo...
7o!troller
$iew 4odel
Fro!t
7o!troller
H**P
R(&'(S*
(6(C'*(
4(* .,*,
www.fgsl.eti.br permitida a reproduo, desde que itada a fo!te
PHPSC Conf 2! " um dos maiores e#entos de PHP do $rasil
...atuali&ados pelo Controlador
7o!troller
$iew 4odel
Fro!t
7o!troller
H**P
R(&'(S*
(6(C'*(
4(* .,*,
S(* .,*,
www.fgsl.eti.br permitida a reproduo, desde que itada a fo!te
PHPSC Conf 2! " um dos maiores e#entos de PHP do $rasil
C%/*R%1,.%R FR%/*,1
C,S*(1% .( $%.2,3M 2/41,*(RR,
www.fgsl.eti.br permitida a reproduo, desde que itada a fo!te
PHPSC Conf 2! " um dos maiores e#entos de PHP do $rasil
.adro de .ro'eto1 7o!trolador de pgi!a
&'p(p
class Inde)ontroller
e)tends Zend_ontroller_Action
*
pu+lic ,unction init()
*
-. Initiali/e action controller (ere .-
0
pu+lic ,unction inde)Action()
*
-- action +od1
0
0
C%/*R%1,.%R
www.fgsl.eti.br permitida a reproduo, desde que itada a fo!te
www.fgsl.eti.br permitida a reproduo, desde que itada a fo!te
PHPSC Conf 2! " um dos maiores e#entos de PHP do $rasil
Zend
Framework
7o!trolador de erros
class %rrorontroller e)tends Zend_ontroller_Action
*
pu+lic ,unction errorAction()
*
2errors = 2t(is->_get3aram('error_(andler');
s4itc( (2errors->t1pe) *
case '%5%36I7N_N7_7N687LL%8':
case '%5%36I7N_N7_A6I7N':
-- 9:9 error -- controller or action not ,ound
2t(is->get8esponse()->set;ttp8esponseode(9:9);
2t(is->#ie4->message = '3age not ,ound';
+rea<;
de,ault:
-- application error
2t(is->get8esponse()->set;ttp8esponseode(=::);
2t(is->#ie4->message = 'Application error';
+rea<;
0
2t(is->#ie4->e)ception = 2errors->e)ception;
2t(is->#ie4->re>uest = 2errors->re>uest;
0
0
C%/*R%1,.%R
www.fgsl.eti.br permitida a reproduo, desde que itada a fo!te
PHPSC Conf 2! " um dos maiores e#entos de PHP do $rasil
7ludia SBiffer <aomi 7ampbell Ci3o 4ori
3%.(1%
www.fgsl.eti.br permitida a reproduo, desde que itada a fo!te
PHPSC Conf 2! " um dos maiores e#entos de PHP do $rasil
<o tem We!dY4odel...
4as tem1
ZWe!dY9bY=able
ZWe!dYFeed
ZWe!dYCest
ZWe!dYServie
ZWe!dYSoap
ZWe!dY/mlCp
ZWe!dYSearBYLue!e
...
3%.(1%
www.fgsl.eti.br permitida a reproduo, desde que itada a fo!te
PHPSC Conf 2! " um dos maiores e#entos de PHP do $rasil
We!dY9bY=able
Z4apeia tabelas relaio!ais para lasses .0..
Z9efi!e relaio!ame!tos e restri[es !o modelo.
Z.ermite o!struir o!sultas orie!tadas a ob'eto om
We!dY9bY=ableYSelet.
Z<o obriga a riao de lasses .0. &M"."Q#, pode
riar modelos di!amiame!te.
Z.ode ser usado de dois modos1
;Ten"' %a4dade de SQL
;?tive Ceord
3%.(1%
www.fgsl.eti.br permitida a reproduo, desde que itada a fo!te
PHPSC Conf 2! " um dos maiores e#entos de PHP do $rasil
.ara a i!terfae om o usurio, We!d Framewor2 usa o
padro de pro'eto 0ista em .uas (tapas.
"# .rimeiro ele tra!sforma dos dados prove!ie!tes do
modelo, ou e!viados pelo o!trolador, em uma
aprese!tao lFgia, sem qualquer formatao
espe\fia &We!dY$iew#
(# 9epois, ele o!verte essa aprese!tao lFgia !a
formatao real !eessria &We!dYLa3out#
02SD%
www.fgsl.eti.br permitida a reproduo, desde que itada a fo!te
PHPSC Conf 2! " um dos maiores e#entos de PHP do $rasil
>m la3out pode servir para vrias pgi!as1
La3out
.gi!a " .gi!a ( .gi!a * .gi!a , .gi!a -
7SS
]avasript
C%/*(N.%M /% C%RP% .% .%C'3(/*%
02SD%
www.fgsl.eti.br permitida a reproduo, desde que itada a fo!te
PHPSC Conf 2! " um dos maiores e#entos de PHP do $rasil
We!dY$iew permite reutiliOao de ompo!e!te de viso1 view partials
$iso
.ri!ipal
.artial "
.artial (
.artial *
.artials podem ser reaproveitados
02SD%
www.fgsl.eti.br permitida a reproduo, desde que itada a fo!te
PHPSC Conf 2! " um dos maiores e#entos de PHP do $rasil
>m pro'eto 4$7 pode ser riado rapidame!te
om Zend *ool.
+le pode ser e5eutado !a li!Ba de oma!do ou
i!tegrado om :9+s omo (clipse e /etKeans.
S+4 ?.C:S:)<?4+<=) .)C :9+^S6
www.fgsl.eti.br permitida a reproduo, desde que itada a fo!te
PHPSC Conf 2! " um dos maiores e#entos de PHP do $rasil
? @ni):
A /,Bs( create proCect >uic<start
? "7S-Dindo4s:
:> /,B+at create proCect >uic<start
)* PR$ +,-$R ./M CO0'RO+/ R/MO'O1
www.fgsl.eti.br permitida a reproduo, desde que itada a fo!te
PHPSC Conf 2! " um dos maiores e#entos de PHP do $rasil
Zend
Framework
>uic<start
E-- application
E E-- FootstrapBp(p
E E-- con,igs
E E G-- applicationBini
E E-- controllers
E E E-- %rrorontrollerBp(p
E E G-- Inde)ontrollerBp(p
E E-- models
E G-- #ie4s
E E-- (elpers
E G-- scripts
E E-- error
E E G-- errorBp(tml
E G-- inde)
E G-- inde)Bp(tml
E-- li+rar1
E-- pu+lic
E G-- inde)Bp(p
G-- tests
E-- application
E G-- +ootstrapBp(p
E-- li+rar1
E G-- +ootstrapBp(p
G-- p(punitB)ml
H9 directories! H: ,iles
www.fgsl.eti.br permitida a reproduo, desde que itada a fo!te
PHPSC Conf 2! " um dos maiores e#entos de PHP do $rasil
FluOo da rePuisio e pluEins
7
www.fgsl.eti.br permitida a reproduo, desde que itada a fo!te
PHPSC Conf 2! " um dos maiores e#entos de PHP do $rasil
SecuritL
?l
?utB
Filter
$alidate
C%.2F2C,HD%
S(4'R,
We!dYForm
$n&eg#a<,'
www.fgsl.eti.br permitida a reproduo, desde que itada a fo!te
PHPSC Conf 2! " um dos maiores e#entos de PHP do $rasil
.ata
9atabase
/4L
SearB
.9F
<) SQL :<]+7=:)<
P.%
www.fgsl.eti.br permitida a reproduo, desde que itada a fo!te
PHPSC Conf 2! " um dos maiores e#entos de PHP do $rasil
Core
ConfiE
1oE
ReEistrL
Session
CacFe
2/2M 631M PHP888
www.fgsl.eti.br permitida a reproduo, desde que itada a fo!te
PHPSC Conf 2! " um dos maiores e#entos de PHP do $rasil
+eK Ser#ices
Feed
Client
Ser#er
Ser#ices
631ARPC
S%,P
R(S*
www.fgsl.eti.br permitida a reproduo, desde que itada a fo!te
PHPSC Conf 2! " um dos maiores e#entos de PHP do $rasil
+eK Ser#ices
Feed
Client
Ser#er
Ser#ices
C%3P'*,HD% (3 /'0(3 C%3 PHP
www.fgsl.eti.br permitida a reproduo, desde que itada a fo!te
PHPSC Conf 2! " um dos maiores e#entos de PHP do $rasil
2/*(R/,C2%/,12Z,HD%
1ocale
*ranslate
4easure
.ate
7ale!dar
7urre!3
www.fgsl.eti.br permitida a reproduo, desde que itada a fo!te
PHPSC Conf 2! " um dos maiores e#entos de PHP do $rasil
.($'4
.%3
F21(
F%R3
3,21
/,024,*2%/
P,42/,*%R
888
*(S*
www.fgsl.eti.br permitida a reproduo, desde que itada a fo!te
PHPSC Conf 2! " um dos maiores e#entos de PHP do $rasil
? 4elBor
ma!eira de
reduOir Cisos !o
9ese!volvime!to
de Software S
<A)
9+S+<$)L$+C6
GC?9_ T))70, um dos riadores da >4L
1(3$R(AS( .2SS%:
www.fgsl.eti.br permitida a reproduo, desde que itada a fo!te
PHPSC Conf 2! " um dos maiores e#entos de PHP do $rasil
/D% .(S(/0%10,5 R('S(5
+ <A) S+
+SQ>+@?
9:SS)6
www.fgsl.eti.br permitida a reproduo, desde que itada a fo!te
PHPSC Conf 2! " um dos maiores e#entos de PHP do $rasil
MENSA=EM SUBLIMINAR:
>S+ W+<9
FC?4+`)CU6
www.fgsl.eti.br permitida a reproduo, desde que itada a fo!te
PHPSC Conf 2! " um dos maiores e#entos de PHP do $rasil
,14'3,
P(R4'/*,-
2ttp344#ramewor.&end.com
www.&#brasil.com
www.fgsl.eti.br permitida a reproduo, desde que itada a fo!te
PHPSC Conf 2! " um dos maiores e#entos de PHP do $rasil
Fo!te1 arlosbritto.om
)brigado6
4as preisamos de tradutores6
Bttp1aagroups.google.om.bragroupaOfdo;ptbr