42
FGSL: É permitida a reprodução deste material desde que citada a fonte MVC com Zend Framework Flávio Gomes da Silva Lisboa [email protected] www.fgsl.eti.br

MVC com Zend Framework

Embed Size (px)

DESCRIPTION

Palestra proferida na PHP Conference 2009.

Citation preview

Page 1: MVC com Zend Framework

FGSL: É permitida a reprodução deste material desde que citada a fonte

MVC com Zend Framework

Flávio Gomes da Silva [email protected]

www.fgsl.eti.br

Page 2: MVC com Zend Framework

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

Page 3: MVC com Zend Framework

FGSL: É permitida a reprodução deste material desde que citada a fonte

Quem sou eu

Page 4: MVC com Zend Framework

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)

Page 5: MVC com Zend Framework

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.

Page 6: MVC com Zend Framework

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 importantee

o que deve ser feito primeiro...

TUDO É IMPORTANTE E DEVE SER FEITO AO MESMO TEMPO!

Page 7: MVC com Zend Framework

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 mesmoprograma, elas poderão facilmente apresentar três projetos totalmente diferentes.

Page 8: MVC com Zend Framework

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”.

Page 9: MVC com Zend Framework

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 quantovocê tente, finalmenteacabará encontrandoalguma nível decomplexidade inerenteao problema domundo real em si.

Page 10: MVC com Zend Framework

FGSL: É permitida a reprodução deste material desde que citada a fonte

Conclusão:

“Ninguém tem o cérebro grande para conter umprograma de computador moderno”.

(Dijkstra, 1972)

http://pt.wikipedia.org/wiki/L%C3%ADder_(Marvel_Comics)

Page 11: MVC com Zend Framework

FGSL: É permitida a reprodução deste material desde que citada a fonte

Ou seja:

Page 12: MVC com Zend Framework

FGSL: É permitida a reprodução deste material desde que citada a fonte

E é aqui que entra o

Page 13: MVC com Zend Framework

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.

Page 14: MVC com Zend Framework

FGSL: É permitida a reprodução deste material desde que citada a fonte

O que é MVC?

Page 15: MVC com Zend Framework

FGSL: É permitida a reprodução deste material desde que citada a fonte

O que é MVC?

Page 16: MVC com Zend Framework

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

Page 17: MVC com Zend Framework

FGSL: É permitida a reprodução deste material desde que citada a fonte

Divisão de responsabilidades

ModeloTudo o que é usado pela aplicação para fazer algo de útil: dados, web services, feeds, etc.

VisãoA página devolvida para o usuário.

ControladorGerencia o ambiente de requisição e determina o que acontece.

Page 18: MVC com Zend Framework

FGSL: É permitida a reprodução deste material desde que citada a fonte

Pra que serve?

Para conseguir colocara pedra do topo antes dapedra da base estar no lugar

Page 19: MVC com Zend Framework

FGSL: É permitida a reprodução deste material desde que citada a fonte

Pra que serve?

HEIN?

Page 20: MVC com Zend Framework

FGSL: É permitida a reprodução deste material desde que citada a fonte

Pra que serve?

WEBDESIGNER PROGRAMADOR

Page 21: MVC com Zend Framework

FGSL: É permitida a reprodução deste material desde que citada a fonte

Pra que serve?

Dilbert by Scott Adams

Page 22: MVC com Zend Framework

FGSL: É permitida a reprodução deste material desde que citada a fonte

Pra que serve?

JÁ VI ISSO ANTES!

Page 23: MVC com Zend Framework

FGSL: É permitida a reprodução deste material desde que citada a fonte

Pra que serve?

Única certeza do projeto

Page 24: MVC com Zend Framework

FGSL: É permitida a reprodução deste material desde que citada a fonte

Pra que serve?

Evitar que o programador tenha que responder à pergunta:

Page 25: MVC com Zend Framework

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.

Page 26: MVC com Zend Framework

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!

Page 27: MVC com Zend Framework

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....

Page 28: MVC com Zend Framework

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!

Page 29: MVC com Zend Framework

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

Page 30: MVC com Zend Framework

FGSL: É permitida a reprodução deste material desde que citada a fonte

Zend Framework

Page 31: MVC com Zend Framework

FGSL: É permitida a reprodução deste material desde que citada a fonte

Zend Framework

Page 32: MVC com 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)

Page 33: MVC com Zend Framework

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

Page 34: MVC com Zend Framework

FGSL: É permitida a reprodução deste material desde que citada a fonte

Zend Framework

E grandes usuários:

Page 35: MVC com Zend Framework

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)

Page 36: MVC com Zend Framework

FGSL: É permitida a reprodução deste material desde que citada a fonte

Fluxo MVCFluxo MVC

Page 37: MVC com Zend Framework

FGSL: É permitida a reprodução deste material desde que citada a fonte

Zend_Controller_Front

ZendControllerFront

ZendControllerAction

Page 38: MVC com Zend Framework

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

Page 39: MVC com Zend Framework

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/

Page 40: MVC com Zend Framework

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é)

Page 41: MVC com Zend Framework

FGSL: É permitida a reprodução deste material desde que citada a fonte

Referências

Page 42: MVC com Zend Framework

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