1. FGSL: É permitida a reprodução deste material desde que citada a fonte
MVC com Zend Framework
Flávio Gomes da Silva Lisboa
flaviogomesdasilva@yahoo.com.br
www.fgsl.eti.br
2. FGSL: É permitida a reprodução deste material desde que citada a fonte
Agenda
● Quem sou eu (1 slide)
● Desafios do projeto de software
● Complexidade
● O que é MVC
● Pra que serve
● O que é Zend Framework
● MVC com Zend Framework
3. FGSL: É permitida a reprodução deste material desde que citada a fonte
Quem sou eu
4. FGSL: É permitida a reprodução deste material desde que citada a fonte
Desafios do projeto de software
O problema
de software
é um
problema
perverso!
Você precisa resolver o problema uma vez para defini-lo claramente, depois resolvê-lo
mais uma vez para criar uma solução que funcione.
http://pt.wikipedia.org/wiki/Esqueleto_(He-Man)
5. FGSL: É permitida a reprodução deste material desde que citada a fonte
Desafios do projeto de software
O processo de software
é um processo desordenado
(mesmo que conduza
a um resultado ordenado)
Você comete vários erros até distinguir a diferença sutil entre uma solução boa e outra
ruim.
6. FGSL: É permitida a reprodução deste material desde que citada a fonte
Desafios do projeto de software
O projeto de software
envolve equilíbrio e prioridades:
o que é mais importante
e
o que deve ser feito primeiro...
TUDO É IMPORTANTE
E DEVE SER FEITO
AO MESMO TEMPO!
7. FGSL: É permitida a reprodução deste material desde que citada a fonte
Desafios do projeto de software
O projeto de software
não é determinístico
Se você mandar três pessoas
projetarem o mesmo
programa, elas poderão
facilmente apresentar três
projetos totalmente
diferentes.
8. FGSL: É permitida a reprodução deste material desde que citada a fonte
Desafios do projeto de software
O projeto de software
é um processo heurístico
Em vez de processos repetidos
que com certeza produzem
resultados previsíveis,
o projeto de software
envolve “tentativa e erro” e
“procedimentos a serem
experimentados e
que às vezes funcionam”.
9. FGSL: É permitida a reprodução deste material desde que citada a fonte
Desafios do projeto de software
O software moderno é
inerentemente complexo
é não importa o quanto
você tente, finalmente
acabará encontrando
alguma nível de
complexidade inerente
ao problema do
mundo real em si.
10. FGSL: É permitida a reprodução deste material desde que citada a fonte
Conclusão:
“Ninguém tem o cérebro
grande para conter um
programa de computador
moderno”.
(Dijkstra, 1972)
http://pt.wikipedia.org/wiki/L%C3%ADder_(Marvel_Comics)
11. FGSL: É permitida a reprodução deste material desde que citada a fonte
Ou seja:
12. FGSL: É permitida a reprodução deste material desde que citada a fonte
E é aqui que entra o
13. FGSL: É permitida a reprodução deste material desde que citada a fonte
O que é MVC?
Model-View-Controller é um padrão de
arquitetura de aplicações corporativas.
14. FGSL: É permitida a reprodução deste material desde que citada a fonte
O que é MVC?
15. FGSL: É permitida a reprodução deste material desde que citada a fonte
O que é MVC?
16. FGSL: É permitida a reprodução deste material desde que citada a fonte
Ou seja:
GRANDES PODERES
TRAZEM GRANDES
RESPONSABILIDADES!
http://pt.wikipedia.org/wiki/Homem-Aranha
17. FGSL: É permitida a reprodução deste material desde que citada a fonte
Divisão de responsabilidades
Modelo
Tudo o que é usado pela aplicação para fazer
algo de útil: dados, web services, feeds, etc.
Visão
A página devolvida para o usuário.
Controlador
Gerencia o ambiente de requisição e
determina o que acontece.
18. FGSL: É permitida a reprodução deste material desde que citada a fonte
Pra que serve?
Para conseguir colocar
a pedra do topo antes da
pedra da base estar no lugar
19. FGSL: É permitida a reprodução deste material desde que citada a fonte
Pra que serve?
HEIN?
20. FGSL: É permitida a reprodução deste material desde que citada a fonte
Pra que serve?
WEBDESIGNER PROGRAMADOR
21. FGSL: É permitida a reprodução deste material desde que citada a fonte
Pra que serve?
Dilbert by Scott Adams
22. FGSL: É permitida a reprodução deste material desde que citada a fonte
Pra que serve?
JÁ VI ISSO
ANTES!
23. FGSL: É permitida a reprodução deste material desde que citada a fonte
Pra que serve?
Única certeza do projeto
24. FGSL: É permitida a reprodução deste material desde que citada a fonte
Pra que serve?
Evitar que o programador tenha que responder
à pergunta:
25. FGSL: É permitida a reprodução deste material desde que citada a fonte
MVC resolve tudo?
MVC é um padrão de projeto de alto nível.
Para funcionar, ele precisa de outros padrões
de projeto, que atuam nos níveis mais baixos
da aplicação.
26. FGSL: É permitida a reprodução deste material desde que citada a fonte
MVC resolve tudo?
E padrões de projeto são soluções genéricas,
receitas de bolo...
VOCÊ TEM QUE IMPLEMENTAR!
27. FGSL: É permitida a reprodução deste material desde que citada a fonte
MVC resolve tudo?
O´Reilly Media All rights reserved.
Como seria maravilhoso
se já existisse uma
infraestrutura de software
que implementasse os
padrões de projeto pra
mim e abstraísse os
detalhes de baixo nível da
aplicação...
mas deve ser um sonho....
28. FGSL: É permitida a reprodução deste material desde que citada a fonte
Seus problemas acabaram!
http://pt.wikipedia.org/wiki/Underdog_(s%C3%A9rie_de_TV)
O seu
problema
acabou, o
framework
chegou!
29. FGSL: É permitida a reprodução deste material desde que citada a fonte
Zend Framework
● É um framework “self-service”: use o que
você precisa
● Fracamente acoplado
● Fácil integração com qualquer outro
framework
● Só PHP 5
● Disponível em http://framework.zend.com
30. FGSL: É permitida a reprodução deste material desde que citada a fonte
Zend Framework
31. FGSL: É permitida a reprodução deste material desde que citada a fonte
Zend Framework
32. FGSL: É permitida a reprodução deste material desde que citada a fonte
Zend Framework
● Todo código licenciado sob new BSD (livre
mesmo!)
● CLA
● Certificação oficial
● Mantido ativamente pela Zend (+500
desenvolvedores)
33. FGSL: É permitida a reprodução deste material desde que citada a fonte
Zend Framework
Modelo de negócio de software livre: projeto
com apoio de grandes empresas
34. FGSL: É permitida a reprodução deste material desde que citada a fonte
Zend Framework
E grandes usuários:
35. FGSL: É permitida a reprodução deste material desde que citada a fonte
Zend Framework
É um framework, não apenas componentes
● “Cola” para construir aplicações
● Ferramenta para incrementar a produtividade
● Componentes desenvolvidos e testados juntos
Use somente o que você precisa, mas
● Ele sempre será distribuido em sua totalidade
● Atualização feita sempre em um clique.
Ainda trabalha com outros (PEAR, Smarty,
Doctrine, Lumine, etc)
36. FGSL: É permitida a reprodução deste material desde que citada a fonte
Fluxo MVC
Fluxo MVC
37. FGSL: É permitida a reprodução deste material desde que citada a fonte
Zend_Controller_Front
Zend
Controller
Front
Zend
Controller
Action
38. FGSL: É permitida a reprodução deste material desde que citada a fonte
MVC com Zend Framework
Alô Mundo com Zend Framework!
Usando Eclipse PDT, Zend_Tool e
Zend_Application
39. FGSL: É permitida a reprodução deste material desde que citada a fonte
Construindo Componentes
FGSL2ZF
Biblioteca de componentes auxiliares para
Zend Framework
http://sourceforge.net/projects/fgslibraryphp/
40. FGSL: É permitida a reprodução deste material desde que citada a fonte
Fontes de consulta
● Documentação on-line (en, fr, de, jp, cn...)
● Comunidade
● Fóruns, listas de discussão, IRC (#zftalk)
www.zfbrasil.com
● Livros disponíveis em português (agora, né)
41. FGSL: É permitida a reprodução deste material desde que citada a fonte
Referências
42. FGSL: É permitida a reprodução deste material desde que citada a fonte
Foi
uma
grande
honra!
http://pt.wikipedia.org/wiki/Lanterna_Verde
2011 coming soon..
Obrigado