SlideShare uma empresa Scribd logo
1 de 42
Baixar para ler offline
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

Mais conteúdo relacionado

Mais procurados

Desenvolvimento Guiado por Testes
Desenvolvimento Guiado por TestesDesenvolvimento Guiado por Testes
Desenvolvimento Guiado por Testeselliando dias
 
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...tdc-globalcode
 
UAI Test - Introdução Prática ao Jenkins
UAI Test - Introdução Prática ao JenkinsUAI Test - Introdução Prática ao Jenkins
UAI Test - Introdução Prática ao JenkinsStefan Teixeira
 
TDD - Pós Graduação em Engenharia de Software Ágil
TDD - Pós Graduação em Engenharia de Software ÁgilTDD - Pós Graduação em Engenharia de Software Ágil
TDD - Pós Graduação em Engenharia de Software ÁgilBruno Eustáquio
 
Acelere - e melhore! - o feedback com testes automatizados rápidos
Acelere - e melhore! - o feedback com testes automatizados rápidosAcelere - e melhore! - o feedback com testes automatizados rápidos
Acelere - e melhore! - o feedback com testes automatizados rápidosIgor Abade
 
BDD (Behavior-Driven Development) - GDG-SP - Julho/2016
BDD (Behavior-Driven Development) - GDG-SP - Julho/2016BDD (Behavior-Driven Development) - GDG-SP - Julho/2016
BDD (Behavior-Driven Development) - GDG-SP - Julho/2016Renato Groff
 
Introdução ao TDD nas soluções Global AppCasting
Introdução ao TDD nas soluções Global AppCastingIntrodução ao TDD nas soluções Global AppCasting
Introdução ao TDD nas soluções Global AppCastingPedro Pereira Martins
 
Os Benefícios dos testes no desenvolvimento de software
Os Benefícios dos testes no desenvolvimento de softwareOs Benefícios dos testes no desenvolvimento de software
Os Benefícios dos testes no desenvolvimento de softwareDextra Sistemas / Etec Itu
 
Testes de Performance na Nuvem com JMeter e Blazemeter
Testes de Performance na Nuvem com JMeter e BlazemeterTestes de Performance na Nuvem com JMeter e Blazemeter
Testes de Performance na Nuvem com JMeter e BlazemeterElias Nogueira
 
Behavior-Driven Development (BDD) - Abril/2017
Behavior-Driven Development (BDD) - Abril/2017Behavior-Driven Development (BDD) - Abril/2017
Behavior-Driven Development (BDD) - Abril/2017Renato Groff
 
IFSP 2015 - Cultura DevOps
IFSP 2015 - Cultura DevOpsIFSP 2015 - Cultura DevOps
IFSP 2015 - Cultura DevOpsLeonardo Comelli
 
TDD e BDD - Developers-SP - Abril/2017
TDD e BDD - Developers-SP - Abril/2017TDD e BDD - Developers-SP - Abril/2017
TDD e BDD - Developers-SP - Abril/2017Renato Groff
 
DevOps, NoOps...afinal que raios é isso?
DevOps, NoOps...afinal que raios é isso?DevOps, NoOps...afinal que raios é isso?
DevOps, NoOps...afinal que raios é isso?Thiago Ganzarolli
 
Behavior-Driven Development (BDD) - QA Ninja Conf 2016
Behavior-Driven Development (BDD) - QA Ninja Conf 2016Behavior-Driven Development (BDD) - QA Ninja Conf 2016
Behavior-Driven Development (BDD) - QA Ninja Conf 2016Renato Groff
 
Mocking Test - ThinkUp! - Abril/2017
Mocking Test - ThinkUp! - Abril/2017Mocking Test - ThinkUp! - Abril/2017
Mocking Test - ThinkUp! - Abril/2017Renato Groff
 

Mais procurados (19)

Desenvolvimento Guiado por Testes
Desenvolvimento Guiado por TestesDesenvolvimento Guiado por Testes
Desenvolvimento Guiado por Testes
 
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
 
Testes Automatizados
Testes AutomatizadosTestes Automatizados
Testes Automatizados
 
UAI Test - Introdução Prática ao Jenkins
UAI Test - Introdução Prática ao JenkinsUAI Test - Introdução Prática ao Jenkins
UAI Test - Introdução Prática ao Jenkins
 
Tdd com Node.js
Tdd com Node.jsTdd com Node.js
Tdd com Node.js
 
Be React. Do Tests!
Be React. Do Tests!Be React. Do Tests!
Be React. Do Tests!
 
TDD - Pós Graduação em Engenharia de Software Ágil
TDD - Pós Graduação em Engenharia de Software ÁgilTDD - Pós Graduação em Engenharia de Software Ágil
TDD - Pós Graduação em Engenharia de Software Ágil
 
Acelere - e melhore! - o feedback com testes automatizados rápidos
Acelere - e melhore! - o feedback com testes automatizados rápidosAcelere - e melhore! - o feedback com testes automatizados rápidos
Acelere - e melhore! - o feedback com testes automatizados rápidos
 
BDD (Behavior-Driven Development) - GDG-SP - Julho/2016
BDD (Behavior-Driven Development) - GDG-SP - Julho/2016BDD (Behavior-Driven Development) - GDG-SP - Julho/2016
BDD (Behavior-Driven Development) - GDG-SP - Julho/2016
 
Introdução ao TDD nas soluções Global AppCasting
Introdução ao TDD nas soluções Global AppCastingIntrodução ao TDD nas soluções Global AppCasting
Introdução ao TDD nas soluções Global AppCasting
 
Os Benefícios dos testes no desenvolvimento de software
Os Benefícios dos testes no desenvolvimento de softwareOs Benefícios dos testes no desenvolvimento de software
Os Benefícios dos testes no desenvolvimento de software
 
#Moving br workshop
#Moving br workshop#Moving br workshop
#Moving br workshop
 
Testes de Performance na Nuvem com JMeter e Blazemeter
Testes de Performance na Nuvem com JMeter e BlazemeterTestes de Performance na Nuvem com JMeter e Blazemeter
Testes de Performance na Nuvem com JMeter e Blazemeter
 
Behavior-Driven Development (BDD) - Abril/2017
Behavior-Driven Development (BDD) - Abril/2017Behavior-Driven Development (BDD) - Abril/2017
Behavior-Driven Development (BDD) - Abril/2017
 
IFSP 2015 - Cultura DevOps
IFSP 2015 - Cultura DevOpsIFSP 2015 - Cultura DevOps
IFSP 2015 - Cultura DevOps
 
TDD e BDD - Developers-SP - Abril/2017
TDD e BDD - Developers-SP - Abril/2017TDD e BDD - Developers-SP - Abril/2017
TDD e BDD - Developers-SP - Abril/2017
 
DevOps, NoOps...afinal que raios é isso?
DevOps, NoOps...afinal que raios é isso?DevOps, NoOps...afinal que raios é isso?
DevOps, NoOps...afinal que raios é isso?
 
Behavior-Driven Development (BDD) - QA Ninja Conf 2016
Behavior-Driven Development (BDD) - QA Ninja Conf 2016Behavior-Driven Development (BDD) - QA Ninja Conf 2016
Behavior-Driven Development (BDD) - QA Ninja Conf 2016
 
Mocking Test - ThinkUp! - Abril/2017
Mocking Test - ThinkUp! - Abril/2017Mocking Test - ThinkUp! - Abril/2017
Mocking Test - ThinkUp! - Abril/2017
 

Destaque

De ins en outs van community management door Wilfred Bruin @LECTRIC op MARCOM12
De ins en outs van community management door Wilfred Bruin @LECTRIC op MARCOM12De ins en outs van community management door Wilfred Bruin @LECTRIC op MARCOM12
De ins en outs van community management door Wilfred Bruin @LECTRIC op MARCOM12LECTRIC
 
El precio del cerebro
El precio del cerebroEl precio del cerebro
El precio del cerebrointruso
 
LCAA 2012 Leadership Summit, presented by TD Bank and the Columbia Chamber
LCAA 2012 Leadership Summit, presented by TD Bank and the Columbia ChamberLCAA 2012 Leadership Summit, presented by TD Bank and the Columbia Chamber
LCAA 2012 Leadership Summit, presented by TD Bank and the Columbia ChamberKatherine Swartz Hilton
 
1202 dictators & democracy
1202 dictators & democracy1202 dictators & democracy
1202 dictators & democracyNext2ndOpinions
 
wyndham leader - 15 jul 2014 - jason
wyndham leader - 15 jul 2014 - jasonwyndham leader - 15 jul 2014 - jason
wyndham leader - 15 jul 2014 - jasonJASON CHEUNG
 
Mapeamento Objeto Relacional com PHP - PHP Conference Brasil 2010
Mapeamento Objeto Relacional com PHP - PHP Conference Brasil 2010Mapeamento Objeto Relacional com PHP - PHP Conference Brasil 2010
Mapeamento Objeto Relacional com PHP - PHP Conference Brasil 2010Flávio Lisboa
 
Predicting Pronunciation And Listening Skills Of Native Speakers Of Spanish A...
Predicting Pronunciation And Listening Skills Of Native Speakers Of Spanish A...Predicting Pronunciation And Listening Skills Of Native Speakers Of Spanish A...
Predicting Pronunciation And Listening Skills Of Native Speakers Of Spanish A...englishonecfl
 
Nazi Persecution Disabilities
Nazi Persecution DisabilitiesNazi Persecution Disabilities
Nazi Persecution Disabilitiespebbremm3
 
Business Partner Marketing Enablement - Introduction
Business Partner Marketing Enablement - IntroductionBusiness Partner Marketing Enablement - Introduction
Business Partner Marketing Enablement - IntroductionRonald Velten
 
Presentación Nexo Abogados mayo 09
Presentación Nexo Abogados mayo 09Presentación Nexo Abogados mayo 09
Presentación Nexo Abogados mayo 09Andrés Romero
 
I. Doršner, Leptoquark Mass Limit in SU(5)
I. Doršner, Leptoquark Mass Limit in SU(5)I. Doršner, Leptoquark Mass Limit in SU(5)
I. Doršner, Leptoquark Mass Limit in SU(5)SEENET-MTP
 
DISA HBSS 201 Adimn eP05.1
DISA HBSS 201 Adimn eP05.1DISA HBSS 201 Adimn eP05.1
DISA HBSS 201 Adimn eP05.1Bryan Davila
 
Leiderschap en innovatie - Kees van Kaam - MARCOM11
Leiderschap en innovatie - Kees van Kaam - MARCOM11Leiderschap en innovatie - Kees van Kaam - MARCOM11
Leiderschap en innovatie - Kees van Kaam - MARCOM11LECTRIC
 
Social Media and MPD--Orlando 2011
Social Media and MPD--Orlando 2011Social Media and MPD--Orlando 2011
Social Media and MPD--Orlando 2011Brian Barela
 
History of horror films
History of horror filmsHistory of horror films
History of horror filmssunilsinghkba
 
Making Social Media Work for Business
Making Social Media Work for BusinessMaking Social Media Work for Business
Making Social Media Work for BusinessChris Moody
 

Destaque (20)

De ins en outs van community management door Wilfred Bruin @LECTRIC op MARCOM12
De ins en outs van community management door Wilfred Bruin @LECTRIC op MARCOM12De ins en outs van community management door Wilfred Bruin @LECTRIC op MARCOM12
De ins en outs van community management door Wilfred Bruin @LECTRIC op MARCOM12
 
El precio del cerebro
El precio del cerebroEl precio del cerebro
El precio del cerebro
 
LCAA 2012 Leadership Summit, presented by TD Bank and the Columbia Chamber
LCAA 2012 Leadership Summit, presented by TD Bank and the Columbia ChamberLCAA 2012 Leadership Summit, presented by TD Bank and the Columbia Chamber
LCAA 2012 Leadership Summit, presented by TD Bank and the Columbia Chamber
 
1
11
1
 
201303191654
201303191654201303191654
201303191654
 
1202 dictators & democracy
1202 dictators & democracy1202 dictators & democracy
1202 dictators & democracy
 
wyndham leader - 15 jul 2014 - jason
wyndham leader - 15 jul 2014 - jasonwyndham leader - 15 jul 2014 - jason
wyndham leader - 15 jul 2014 - jason
 
Mapeamento Objeto Relacional com PHP - PHP Conference Brasil 2010
Mapeamento Objeto Relacional com PHP - PHP Conference Brasil 2010Mapeamento Objeto Relacional com PHP - PHP Conference Brasil 2010
Mapeamento Objeto Relacional com PHP - PHP Conference Brasil 2010
 
Predicting Pronunciation And Listening Skills Of Native Speakers Of Spanish A...
Predicting Pronunciation And Listening Skills Of Native Speakers Of Spanish A...Predicting Pronunciation And Listening Skills Of Native Speakers Of Spanish A...
Predicting Pronunciation And Listening Skills Of Native Speakers Of Spanish A...
 
School diploma (1)
School diploma (1)School diploma (1)
School diploma (1)
 
Nazi Persecution Disabilities
Nazi Persecution DisabilitiesNazi Persecution Disabilities
Nazi Persecution Disabilities
 
Business Partner Marketing Enablement - Introduction
Business Partner Marketing Enablement - IntroductionBusiness Partner Marketing Enablement - Introduction
Business Partner Marketing Enablement - Introduction
 
Presentación Nexo Abogados mayo 09
Presentación Nexo Abogados mayo 09Presentación Nexo Abogados mayo 09
Presentación Nexo Abogados mayo 09
 
I. Doršner, Leptoquark Mass Limit in SU(5)
I. Doršner, Leptoquark Mass Limit in SU(5)I. Doršner, Leptoquark Mass Limit in SU(5)
I. Doršner, Leptoquark Mass Limit in SU(5)
 
Carateristicas
CarateristicasCarateristicas
Carateristicas
 
DISA HBSS 201 Adimn eP05.1
DISA HBSS 201 Adimn eP05.1DISA HBSS 201 Adimn eP05.1
DISA HBSS 201 Adimn eP05.1
 
Leiderschap en innovatie - Kees van Kaam - MARCOM11
Leiderschap en innovatie - Kees van Kaam - MARCOM11Leiderschap en innovatie - Kees van Kaam - MARCOM11
Leiderschap en innovatie - Kees van Kaam - MARCOM11
 
Social Media and MPD--Orlando 2011
Social Media and MPD--Orlando 2011Social Media and MPD--Orlando 2011
Social Media and MPD--Orlando 2011
 
History of horror films
History of horror filmsHistory of horror films
History of horror films
 
Making Social Media Work for Business
Making Social Media Work for BusinessMaking Social Media Work for Business
Making Social Media Work for Business
 

Semelhante a MVC com Zend Framework

Componentes Transformers: Combinando o melhor de cada framework
Componentes Transformers: Combinando o melhor de cada frameworkComponentes Transformers: Combinando o melhor de cada framework
Componentes Transformers: Combinando o melhor de cada frameworkFlávio Lisboa
 
O que é framework
O que é frameworkO que é framework
O que é frameworkfcdigital
 
01 - Introdução a programação para internet v1.1
01 - Introdução a programação para internet v1.101 - Introdução a programação para internet v1.1
01 - Introdução a programação para internet v1.1César Augusto Pessôa
 
Análise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e Zend
Análise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e ZendAnálise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e Zend
Análise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e ZendThiago Sinésio
 
Aplicações Profissionais para Internet com Zend Framework
Aplicações Profissionais para Internet com Zend FrameworkAplicações Profissionais para Internet com Zend Framework
Aplicações Profissionais para Internet com Zend FrameworkFlávio Lisboa
 
Desenvolvendo em Zend Framework: Ênfase no Zend_Db
Desenvolvendo em Zend Framework: Ênfase no Zend_DbDesenvolvendo em Zend Framework: Ênfase no Zend_Db
Desenvolvendo em Zend Framework: Ênfase no Zend_DbFlávio Lisboa
 
Maven: Introdução
Maven: IntroduçãoMaven: Introdução
Maven: IntroduçãoJugVale
 
Introdução a DevOps e Continuous delivery agileday
Introdução a DevOps e Continuous delivery   agiledayIntrodução a DevOps e Continuous delivery   agileday
Introdução a DevOps e Continuous delivery agiledayCarlos Felippe Cardoso
 
ASP.Net Core FAQ
ASP.Net Core FAQASP.Net Core FAQ
ASP.Net Core FAQLuiz Duarte
 
O que esperar do framework Laminas
O que esperar do framework LaminasO que esperar do framework Laminas
O que esperar do framework LaminasFlávio Lisboa
 
Pense no futuro: PHP com Zend Framework
Pense no futuro: PHP com Zend FrameworkPense no futuro: PHP com Zend Framework
Pense no futuro: PHP com Zend FrameworkFlávio Lisboa
 
Apresentação do Workshop BDD (Desenvolvimento Guiado por Comportamento) com V...
Apresentação do Workshop BDD (Desenvolvimento Guiado por Comportamento) com V...Apresentação do Workshop BDD (Desenvolvimento Guiado por Comportamento) com V...
Apresentação do Workshop BDD (Desenvolvimento Guiado por Comportamento) com V...Developer Academy
 
DDD e PHP - TDC 2012
DDD e PHP - TDC 2012DDD e PHP - TDC 2012
DDD e PHP - TDC 2012Luís Cobucci
 
Palestra Zend Framework CONAPHP CONISLI
Palestra Zend Framework CONAPHP CONISLIPalestra Zend Framework CONAPHP CONISLI
Palestra Zend Framework CONAPHP CONISLIFlávio Lisboa
 
The Ultimate Guide to Development in WordPress
The Ultimate Guide to Development in WordPressThe Ultimate Guide to Development in WordPress
The Ultimate Guide to Development in WordPressJackson F. de A. Mafra
 
A demanda da santa entrega Batman: bugs e gargalos em aplicações PHP
A demanda da santa entrega Batman: bugs e gargalos em aplicações PHPA demanda da santa entrega Batman: bugs e gargalos em aplicações PHP
A demanda da santa entrega Batman: bugs e gargalos em aplicações PHPFlávio Lisboa
 
Combatendo o Código Procedural - TDC 2012 Florianópolis - Trilha PHP
Combatendo o Código Procedural - TDC 2012 Florianópolis - Trilha PHPCombatendo o Código Procedural - TDC 2012 Florianópolis - Trilha PHP
Combatendo o Código Procedural - TDC 2012 Florianópolis - Trilha PHPRodrigo Dos Santos
 

Semelhante a MVC com Zend Framework (20)

Começando errado com php
Começando errado com phpComeçando errado com php
Começando errado com php
 
Componentes Transformers: Combinando o melhor de cada framework
Componentes Transformers: Combinando o melhor de cada frameworkComponentes Transformers: Combinando o melhor de cada framework
Componentes Transformers: Combinando o melhor de cada framework
 
O que é framework
O que é frameworkO que é framework
O que é framework
 
01 - Introdução a programação para internet v1.1
01 - Introdução a programação para internet v1.101 - Introdução a programação para internet v1.1
01 - Introdução a programação para internet v1.1
 
Análise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e Zend
Análise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e ZendAnálise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e Zend
Análise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e Zend
 
Aplicações Profissionais para Internet com Zend Framework
Aplicações Profissionais para Internet com Zend FrameworkAplicações Profissionais para Internet com Zend Framework
Aplicações Profissionais para Internet com Zend Framework
 
Desenvolvendo em Zend Framework: Ênfase no Zend_Db
Desenvolvendo em Zend Framework: Ênfase no Zend_DbDesenvolvendo em Zend Framework: Ênfase no Zend_Db
Desenvolvendo em Zend Framework: Ênfase no Zend_Db
 
Maven: Introdução
Maven: IntroduçãoMaven: Introdução
Maven: Introdução
 
Introdução a DevOps e Continuous delivery agileday
Introdução a DevOps e Continuous delivery   agiledayIntrodução a DevOps e Continuous delivery   agileday
Introdução a DevOps e Continuous delivery agileday
 
ASP.Net Core FAQ
ASP.Net Core FAQASP.Net Core FAQ
ASP.Net Core FAQ
 
O que esperar do framework Laminas
O que esperar do framework LaminasO que esperar do framework Laminas
O que esperar do framework Laminas
 
PHPZEIRO: Adote um framework
PHPZEIRO: Adote um frameworkPHPZEIRO: Adote um framework
PHPZEIRO: Adote um framework
 
Inovando na Plataforma Java
Inovando na Plataforma JavaInovando na Plataforma Java
Inovando na Plataforma Java
 
Pense no futuro: PHP com Zend Framework
Pense no futuro: PHP com Zend FrameworkPense no futuro: PHP com Zend Framework
Pense no futuro: PHP com Zend Framework
 
Apresentação do Workshop BDD (Desenvolvimento Guiado por Comportamento) com V...
Apresentação do Workshop BDD (Desenvolvimento Guiado por Comportamento) com V...Apresentação do Workshop BDD (Desenvolvimento Guiado por Comportamento) com V...
Apresentação do Workshop BDD (Desenvolvimento Guiado por Comportamento) com V...
 
DDD e PHP - TDC 2012
DDD e PHP - TDC 2012DDD e PHP - TDC 2012
DDD e PHP - TDC 2012
 
Palestra Zend Framework CONAPHP CONISLI
Palestra Zend Framework CONAPHP CONISLIPalestra Zend Framework CONAPHP CONISLI
Palestra Zend Framework CONAPHP CONISLI
 
The Ultimate Guide to Development in WordPress
The Ultimate Guide to Development in WordPressThe Ultimate Guide to Development in WordPress
The Ultimate Guide to Development in WordPress
 
A demanda da santa entrega Batman: bugs e gargalos em aplicações PHP
A demanda da santa entrega Batman: bugs e gargalos em aplicações PHPA demanda da santa entrega Batman: bugs e gargalos em aplicações PHP
A demanda da santa entrega Batman: bugs e gargalos em aplicações PHP
 
Combatendo o Código Procedural - TDC 2012 Florianópolis - Trilha PHP
Combatendo o Código Procedural - TDC 2012 Florianópolis - Trilha PHPCombatendo o Código Procedural - TDC 2012 Florianópolis - Trilha PHP
Combatendo o Código Procedural - TDC 2012 Florianópolis - Trilha PHP
 

Mais de Flávio Lisboa

Criando testes integrados de APIs com PHP
Criando testes integrados de APIs com PHPCriando testes integrados de APIs com PHP
Criando testes integrados de APIs com PHPFlávio Lisboa
 
Cooperativas de Software Livre: Uma comparação entre Brasil e Argentina
Cooperativas de Software Livre: Uma comparação entre Brasil e ArgentinaCooperativas de Software Livre: Uma comparação entre Brasil e Argentina
Cooperativas de Software Livre: Uma comparação entre Brasil e ArgentinaFlávio Lisboa
 
Aprenda a afiar suas garras com Laminas
Aprenda a afiar suas garras com LaminasAprenda a afiar suas garras com Laminas
Aprenda a afiar suas garras com LaminasFlávio Lisboa
 
Ciência e software livre: desenvolvendo com método
Ciência e software livre: desenvolvendo com métodoCiência e software livre: desenvolvendo com método
Ciência e software livre: desenvolvendo com métodoFlávio Lisboa
 
Turbinando microsserviços em PHP
Turbinando microsserviços em PHPTurbinando microsserviços em PHP
Turbinando microsserviços em PHPFlávio Lisboa
 
PHP Conference Brazil - What can we expect about framework Laminas?
PHP Conference Brazil - What can we expect about framework Laminas?PHP Conference Brazil - What can we expect about framework Laminas?
PHP Conference Brazil - What can we expect about framework Laminas?Flávio Lisboa
 
Algoritmos Genéticos em PHP - PHP Conference Brasil 2019
Algoritmos Genéticos em PHP - PHP Conference Brasil 2019Algoritmos Genéticos em PHP - PHP Conference Brasil 2019
Algoritmos Genéticos em PHP - PHP Conference Brasil 2019Flávio Lisboa
 
Criando microsserviços em PHP
Criando microsserviços em PHPCriando microsserviços em PHP
Criando microsserviços em PHPFlávio Lisboa
 
Como se tornar o pior programador PHP do mundo
Como se tornar o pior programador PHP do mundoComo se tornar o pior programador PHP do mundo
Como se tornar o pior programador PHP do mundoFlávio Lisboa
 
Comunicação e padrões em código aberto: quando convergente e divergente cooperam
Comunicação e padrões em código aberto: quando convergente e divergente cooperamComunicação e padrões em código aberto: quando convergente e divergente cooperam
Comunicação e padrões em código aberto: quando convergente e divergente cooperamFlávio Lisboa
 
Criação de robôs em PHP para raspagem de dados
Criação de robôs em PHP para raspagem de dadosCriação de robôs em PHP para raspagem de dados
Criação de robôs em PHP para raspagem de dadosFlávio Lisboa
 
Estudo de Caso: Utilização de PHP no Serviço Federal de Processamento de Dados
Estudo de Caso: Utilização de PHP no Serviço Federal de Processamento de DadosEstudo de Caso: Utilização de PHP no Serviço Federal de Processamento de Dados
Estudo de Caso: Utilização de PHP no Serviço Federal de Processamento de DadosFlávio Lisboa
 
Arquitetura PHP para um mundo orientado a microsserviços
Arquitetura PHP para um mundo orientado a microsserviçosArquitetura PHP para um mundo orientado a microsserviços
Arquitetura PHP para um mundo orientado a microsserviçosFlávio Lisboa
 
Semeando Liberdade: Como (e onde) o software livre inclui as pessoas
Semeando Liberdade: Como (e onde) o software livre inclui as pessoasSemeando Liberdade: Como (e onde) o software livre inclui as pessoas
Semeando Liberdade: Como (e onde) o software livre inclui as pessoasFlávio Lisboa
 
O que é programação de computadores
O que é programação de computadoresO que é programação de computadores
O que é programação de computadoresFlávio Lisboa
 
Economia em rede (comunidade)
Economia em rede (comunidade)Economia em rede (comunidade)
Economia em rede (comunidade)Flávio Lisboa
 
Aplicações Corporativas em PHP (CRM e ERP)
Aplicações Corporativas em PHP (CRM e ERP)Aplicações Corporativas em PHP (CRM e ERP)
Aplicações Corporativas em PHP (CRM e ERP)Flávio Lisboa
 
Desenvolvimento Orientado a API (e extraindo existentes com PHP)
Desenvolvimento Orientado a API (e extraindo existentes com PHP)Desenvolvimento Orientado a API (e extraindo existentes com PHP)
Desenvolvimento Orientado a API (e extraindo existentes com PHP)Flávio Lisboa
 
API PHP para blockchain
API PHP para blockchainAPI PHP para blockchain
API PHP para blockchainFlávio Lisboa
 

Mais de Flávio Lisboa (20)

Criando testes integrados de APIs com PHP
Criando testes integrados de APIs com PHPCriando testes integrados de APIs com PHP
Criando testes integrados de APIs com PHP
 
Cooperativas de Software Livre: Uma comparação entre Brasil e Argentina
Cooperativas de Software Livre: Uma comparação entre Brasil e ArgentinaCooperativas de Software Livre: Uma comparação entre Brasil e Argentina
Cooperativas de Software Livre: Uma comparação entre Brasil e Argentina
 
Aprenda a afiar suas garras com Laminas
Aprenda a afiar suas garras com LaminasAprenda a afiar suas garras com Laminas
Aprenda a afiar suas garras com Laminas
 
Ciência e software livre: desenvolvendo com método
Ciência e software livre: desenvolvendo com métodoCiência e software livre: desenvolvendo com método
Ciência e software livre: desenvolvendo com método
 
Turbinando microsserviços em PHP
Turbinando microsserviços em PHPTurbinando microsserviços em PHP
Turbinando microsserviços em PHP
 
PHP Conference Brazil - What can we expect about framework Laminas?
PHP Conference Brazil - What can we expect about framework Laminas?PHP Conference Brazil - What can we expect about framework Laminas?
PHP Conference Brazil - What can we expect about framework Laminas?
 
Algoritmos Genéticos em PHP - PHP Conference Brasil 2019
Algoritmos Genéticos em PHP - PHP Conference Brasil 2019Algoritmos Genéticos em PHP - PHP Conference Brasil 2019
Algoritmos Genéticos em PHP - PHP Conference Brasil 2019
 
Criando microsserviços em PHP
Criando microsserviços em PHPCriando microsserviços em PHP
Criando microsserviços em PHP
 
Como se tornar o pior programador PHP do mundo
Como se tornar o pior programador PHP do mundoComo se tornar o pior programador PHP do mundo
Como se tornar o pior programador PHP do mundo
 
Comunicação e padrões em código aberto: quando convergente e divergente cooperam
Comunicação e padrões em código aberto: quando convergente e divergente cooperamComunicação e padrões em código aberto: quando convergente e divergente cooperam
Comunicação e padrões em código aberto: quando convergente e divergente cooperam
 
Criação de robôs em PHP para raspagem de dados
Criação de robôs em PHP para raspagem de dadosCriação de robôs em PHP para raspagem de dados
Criação de robôs em PHP para raspagem de dados
 
Amanhecer esmeralda
Amanhecer esmeraldaAmanhecer esmeralda
Amanhecer esmeralda
 
Estudo de Caso: Utilização de PHP no Serviço Federal de Processamento de Dados
Estudo de Caso: Utilização de PHP no Serviço Federal de Processamento de DadosEstudo de Caso: Utilização de PHP no Serviço Federal de Processamento de Dados
Estudo de Caso: Utilização de PHP no Serviço Federal de Processamento de Dados
 
Arquitetura PHP para um mundo orientado a microsserviços
Arquitetura PHP para um mundo orientado a microsserviçosArquitetura PHP para um mundo orientado a microsserviços
Arquitetura PHP para um mundo orientado a microsserviços
 
Semeando Liberdade: Como (e onde) o software livre inclui as pessoas
Semeando Liberdade: Como (e onde) o software livre inclui as pessoasSemeando Liberdade: Como (e onde) o software livre inclui as pessoas
Semeando Liberdade: Como (e onde) o software livre inclui as pessoas
 
O que é programação de computadores
O que é programação de computadoresO que é programação de computadores
O que é programação de computadores
 
Economia em rede (comunidade)
Economia em rede (comunidade)Economia em rede (comunidade)
Economia em rede (comunidade)
 
Aplicações Corporativas em PHP (CRM e ERP)
Aplicações Corporativas em PHP (CRM e ERP)Aplicações Corporativas em PHP (CRM e ERP)
Aplicações Corporativas em PHP (CRM e ERP)
 
Desenvolvimento Orientado a API (e extraindo existentes com PHP)
Desenvolvimento Orientado a API (e extraindo existentes com PHP)Desenvolvimento Orientado a API (e extraindo existentes com PHP)
Desenvolvimento Orientado a API (e extraindo existentes com PHP)
 
API PHP para blockchain
API PHP para blockchainAPI PHP para blockchain
API PHP para blockchain
 

MVC com Zend Framework

  • 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