MVC com Zend Framework

Post on 22-Apr-2015

2.977 views 5 download

description

Palestra proferida na PHP Conference 2009.

Transcript of 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 Lisboaflaviogomesdasilva@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 importantee

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 mesmoprograma, 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 quantovocê tente, finalmenteacabará encontrandoalguma nível decomplexidade inerenteao problema domundo 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 umprograma 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

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.

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

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 MVCFluxo MVC

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

Zend_Controller_Front

ZendControllerFront

ZendControllerAction

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