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
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
FGSL: É permitida a reprodução deste material desde que citada a fonte
Quem sou eu
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)
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.
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!
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.
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”.
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.
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)
FGSL: É permitida a reprodução deste material desde que citada a fonte
Ou seja:
FGSL: É permitida a reprodução deste material desde que citada a fonte
E é aqui que entra o
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.
FGSL: É permitida a reprodução deste material desde que citada a fonte
O que é MVC?
FGSL: É permitida a reprodução deste material desde que citada a fonte
O que é MVC?
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
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.
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
FGSL: É permitida a reprodução deste material desde que citada a fonte
Pra que serve?
HEIN?
FGSL: É permitida a reprodução deste material desde que citada a fonte
Pra que serve?
WEBDESIGNER PROGRAMADOR
FGSL: É permitida a reprodução deste material desde que citada a fonte
Pra que serve?
Dilbert by Scott Adams
FGSL: É permitida a reprodução deste material desde que citada a fonte
Pra que serve?
JÁ VI ISSO
ANTES!
FGSL: É permitida a reprodução deste material desde que citada a fonte
Pra que serve?
Única certeza do projeto
FGSL: É permitida a reprodução deste material desde que citada a fonte
Pra que serve?
Evitar que o programador tenha que responder
à pergunta:
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.
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!
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....
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!
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
FGSL: É permitida a reprodução deste material desde que citada a fonte
Zend Framework
FGSL: É permitida a reprodução deste material desde que citada a fonte
Zend Framework
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)
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
FGSL: É permitida a reprodução deste material desde que citada a fonte
Zend Framework
E grandes usuários:
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)
FGSL: É permitida a reprodução deste material desde que citada a fonte
Fluxo MVC
Fluxo MVC
FGSL: É permitida a reprodução deste material desde que citada a fonte
Zend_Controller_Front
Zend
Controller
Front
Zend
Controller
Action
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
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/
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é)
FGSL: É permitida a reprodução deste material desde que citada a fonte
Referências
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

MVC com Zend Framework

  • 1.
    FGSL: É permitidaa 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: É permitidaa 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: É permitidaa reprodução deste material desde que citada a fonte Quem sou eu
  • 4.
    FGSL: É permitidaa 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: É permitidaa 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: É permitidaa 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: É permitidaa 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: É permitidaa 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: É permitidaa 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: É permitidaa 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: É permitidaa reprodução deste material desde que citada a fonte Ou seja:
  • 12.
    FGSL: É permitidaa reprodução deste material desde que citada a fonte E é aqui que entra o
  • 13.
    FGSL: É permitidaa 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: É permitidaa reprodução deste material desde que citada a fonte O que é MVC?
  • 15.
    FGSL: É permitidaa reprodução deste material desde que citada a fonte O que é MVC?
  • 16.
    FGSL: É permitidaa 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: É permitidaa 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: É permitidaa 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: É permitidaa reprodução deste material desde que citada a fonte Pra que serve? HEIN?
  • 20.
    FGSL: É permitidaa reprodução deste material desde que citada a fonte Pra que serve? WEBDESIGNER PROGRAMADOR
  • 21.
    FGSL: É permitidaa reprodução deste material desde que citada a fonte Pra que serve? Dilbert by Scott Adams
  • 22.
    FGSL: É permitidaa reprodução deste material desde que citada a fonte Pra que serve? JÁ VI ISSO ANTES!
  • 23.
    FGSL: É permitidaa reprodução deste material desde que citada a fonte Pra que serve? Única certeza do projeto
  • 24.
    FGSL: É permitidaa reprodução deste material desde que citada a fonte Pra que serve? Evitar que o programador tenha que responder à pergunta:
  • 25.
    FGSL: É permitidaa 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: É permitidaa 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: É permitidaa 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: É permitidaa 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: É permitidaa 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: É permitidaa reprodução deste material desde que citada a fonte Zend Framework
  • 31.
    FGSL: É permitidaa reprodução deste material desde que citada a fonte Zend Framework
  • 32.
    FGSL: É permitidaa 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: É permitidaa 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: É permitidaa reprodução deste material desde que citada a fonte Zend Framework E grandes usuários:
  • 35.
    FGSL: É permitidaa 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: É permitidaa reprodução deste material desde que citada a fonte Fluxo MVC Fluxo MVC
  • 37.
    FGSL: É permitidaa reprodução deste material desde que citada a fonte Zend_Controller_Front Zend Controller Front Zend Controller Action
  • 38.
    FGSL: É permitidaa 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: É permitidaa 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: É permitidaa 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: É permitidaa reprodução deste material desde que citada a fonte Referências
  • 42.
    FGSL: É permitidaa reprodução deste material desde que citada a fonte Foi uma grande honra! http://pt.wikipedia.org/wiki/Lanterna_Verde 2011 coming soon.. Obrigado