MVC com Zend Framework
Flávio Gomes da Silva Lisboa
@fgsl
www.fgsl.eti.br
@fgsl
A reprodução é livre, apenas cite a fonte
Mickey, Donald Duck & Goofy by Walt Disney
Quem sou eu
2007
2008 2009
A reprodução é livre, apenas cite a fonte
@fgsl
Aplicações...
A reprodução é livre, apenas cite a fonte
@fgsl
serventedepedreiro2.blogspot.com
Aplicações...Web
A reprodução é livre, apenas cite a fonte
@fgsl
adrformacion.com
tareadeinformatica-julia.blogspot.com
altecnet.com.br
freecoloringsheets.net
Momento Cultural
A reprodução é livre, apenas cite a fonte
@fgsl
A reprodução é livre, apenas cite a fonte
@fgsl
Aplicações são como cebolas...
Shrek by Dreamworks
Cebolinha by Maurício de Sousa
hortifrutibrasil.blogspot.com
A reprodução é livre, apenas cite a fonte
@fgsl
… elas têm camadas!
mais-objetiva.blogspot.com
A reprodução é livre, apenas cite a fonte
@fgsl
Mas pra quê camadas?
manequim.abril.com.br
copacabanadetoledo.blogger.com.br
A reprodução é livre, apenas cite a fonte
@fgsl
O que são camadas?
Martin Fowler
camadas são “os subsistemas
principais no software
dispostos de forma parecida
com camadas de um bolo,
em que cada camada repousa
sobre uma camada mais
baixa”
A reprodução é livre, apenas cite a fonte
@fgsl
Vantagens de usar camadas
►Compreensão de uma única camada como um todo
coerente sem necessidade de saber muito sobre as demais
camadas.
►Uma camada pode ser substituída por implementações
alternativas dos mesmos serviços básicos.
►O uso de camadas diminui a dependência entre as partes
de um sistema
►Camadas são bons lugares para definir padrões.
►Uma vez construída, uma camada pode ser usada por
muitos serviços de nível mais alto.
A reprodução é livre, apenas cite a fonte
@fgsl
Camadas de uma aplicação
Recursos Externos
Objetos de acesso a dados
Mapeadores, repositórios
e scritps de transação
Modelos de domínio
e Entidades
Controle de fluxo
da aplicação
Apresentação
ou exposição de serviço
A reprodução é livre, apenas cite a fonte
@fgsl
E pra quê tudo isso?
Porque só
existe uma
certeza no
mundo do
software...
A reprodução é livre, apenas cite a fonte
@fgsl
O cliente vai pedir alterações...
Eu te amo, você é perfeito...
...mas quero que você mude.
Fonte: http://2.bp.blogspot.com/_UM47dm0ECOE/SK1mPgTEzaI/AAAAAAAAAo8/yf2scl7XEQ4/s400/amor+meu+grande+amor.jpg
A reprodução é livre, apenas cite a fonte
@fgsl
O cliente vai pedir mais alterações...
Mas fizemos um sistema que funciona, o cliente
disse que estava ótimo... e agora temos que fazer
mais alterações?
Fonte: http://galeria.brfoto.com.br/data/1/choro_sem_cor.jpg
@fgsl
A reprodução é livre, apenas cite a fonte
RESISTIR É INÚTIL!
@fgsl
A reprodução é livre, apenas cite a fonte
RESISTIR É INÚTIL!
@fgsl
A reprodução é livre, apenas cite a fonte
RESISTIR É INÚTIL!
@fgsl
A reprodução é livre, apenas cite a fonte
RESISTIR É INÚTIL!
Se a mudança é a única certeza, a questão é:
Como mudar da melhor forma possível?
matutando.com
@fgsl
A reprodução é livre, apenas cite a fonte
Melhor mudança
●Custa pouco
●Leva menos tempo
●Cria o menor impacto na aplicação
Fonte: http://aliceprina.files.wordpress.com/2007/09/mudanca-web2.jpg
@fgsl
A reprodução é livre, apenas cite a fonte
Práticas que dificultam mudanças
Criação de objetos pela especificação explícita
de uma classe.
Dependências de uma plataforma de hardware e
software específica.
Dependência de algoritmos específicos.
Acoplamento forte de classes.
@fgsl
A reprodução é livre, apenas cite a fonte
Tempo
Algo que você já não tem
Algo que você cada dia tem menos
taocentro.blogspot.com
oitopassos.com
@fgsl
A reprodução é livre, apenas cite a fonte
Complexidade
Algo que só tende a aumentar
@fgsl
A reprodução é livre, apenas cite a fonte
Por isso, não invente!
eladioebruna.blogspot.com
@fgsl
A reprodução é livre, apenas cite a fonte
Reuse!
mosaico.blogs.ie
dvdnear.com
produto.mercadolivre.com.br
19371973
@fgsl
A reprodução é livre, apenas cite a fonte
Reuse!
He-Man, Skeletor and Battle Cat by Mattel
De novo
essa
cena?
@fgsl
A reprodução é livre, apenas cite a fonte
Reuse!
ivancarlo.blogspot.com fortressofbaileytude.com
John Byrne - 1980 George Pérez - 1985
@fgsl
A reprodução é livre, apenas cite a fonte
Reuse!
http://www.coverbrowser.com/top/cool
John Buscema - 1968 John Byrne - 1989
@fgsl
A reprodução é livre, apenas cite a fonte
Reuse!
http://www.interney.net/blogs/melhoresdomundo/2008/05/21/alex_ross_chupinha_de_novo
Capas de
John Byrne
@fgsl
A reprodução é livre, apenas cite a fonte
Reutilização
“O movimento para o
desenvolvimento baseado
em reuso foi uma resposta
às demandas por menores
custos de produção e
manutenção de software,
entregas mais rápidas de
sistemas e aumento da
qualidade do software”.
Ian Sommerville
@fgsl
A reprodução é livre, apenas cite a fonte
De código
De desenho
010101011101101010101
111010010110110010101
010110101110101010101
001011111010110101010
110101010000011111001
011111010000110101010
101011110010101010100
011101010101010101110
001110101010101010101
010110101010101011111
Nonono
nonnon
nonono
nononno
Tipos de Reutilização
@fgsl
A reprodução é livre, apenas cite a fonte
Tipos de Reutilização
De objetos, quando módulos de código binário
de interface padronizada são reaproveitados;
De classes, o reaproveitamento de classes
fundamentais e bibliotecas-padrão;
De plataformas, que se refere ao
reaproveitamento de camadas inteiras da
arquitetura de uma aplicação.
@fgsl
A reprodução é livre, apenas cite a fonte
Padrões
“Padrões para componentes
reusáveis facilitam o reuso”
@fgsl
A reprodução é livre, apenas cite a fonte
Padrões
“Padrão é uma maneira de fazer algo, ou de
buscar um objetivo. Em qualquer atividade que já
esteja madura ou em vias de amadurecer,
encontraremos métodos eficazes comuns para
atingir objetivos e para resolver problemas em
vários contextos”
Steven John Metsker
@fgsl
A reprodução é livre, apenas cite a fonte
Padrões
Reduzem a complexidade, fornecendo
abstrações prontas;
Reduzem os erros, institucionalizando os
detalhes de soluções comuns;
Fornecem valor heurístico, sugerindo
alternativas de design;
Otimizam a comunicação, movendo o
diálogo do projeto para um nível mais alto.
Steve McConnell
@fgsl
A reprodução é livre, apenas cite a fonte
MVC é um padrão de projeto
symfony-project.org
Mas as camadas
não tem que estar
uma em cima da
outra?
Não necessariamente.
A reprodução é livre, apenas cite a fonte
@fgsl
MVC é só a ponta do iceberg...
Recursos Externos
Objetos de acesso a dados
Mapeadores, repositórios
e scritps de transação
Modelos de domínio
e Entidades
Controle de fluxo
da aplicação
Apresentação
ou exposição de serviço
M
C
V
A reprodução é livre, apenas cite a fonte
@fgsl
Não se engane com a figura!
Não tem só 1 modelo, 1 visão e 1 controlador.
A reprodução é livre, apenas cite a fonte
@fgsl
Tem mais coisa!
N
N
N
A reprodução é livre, apenas cite a fonte
@fgsl
Uma aplicação tem vários problemas...
...por isso precisa de vários padrões de projeto
Justile League of America, by DC Comics
A reprodução é livre, apenas cite a fonte
@fgsl
Software Baseado em Padrão
Para viabilizar o projeto de
software baseado em
padrão, “pode ser
necessário fornecer uma
infraestrutura do esqueleto
de implementação
específica, chamada de
arcabouço (framework)”.
Roger S. Pressman
A reprodução é livre, apenas cite a fonte
@fgsl
Framework
“O framework dita a arquitetura de
sua aplicação. Ele irá definir a
estrutura geral, sua divisão em
classes e objetos e em consequência
as responsabilidades-chave das
classes de objetos, como estas
colaboram, e o fluxo de controle.
Um framework predefine esses
parâmetros de projeto, de maneira
que o projetista ou implementador da
aplicação, possa se concentrar nos
aspectos específicos da mesma”.
(Gangue dos Quatro)
Royal Flush Gang, by DC Comics
Gangue dos Quatro
A reprodução é livre, apenas cite a fonte
@fgsl
Inversão de Controle
A reprodução é livre, apenas cite a fonte
@fgsl
Inversão de Controle
A inversão de controle estabelece a diferença
entre toolkits ou bibliotecas de sub-rotinas e
frameworks. Nas primeiras, o desenvolvedor
escreve o corpo principal da aplicação e chama o
código que quer reutilizar. No último, o
desenvolvedor reutiliza o corpo principal e
escreve o código que o framework chama.
A reprodução é livre, apenas cite a fonte
@fgsl
Criação de objetos de forma indireta.
Não depende de uma plataforma de hardware e
software específica (é PHP né? Dooh!).
Não depende de suas próprias implementações.
Acoplamento fraco de classes.
A reprodução é livre, apenas cite a fonte
@fgsl
desciclopedia.org
Zend
Db
Zend
Service
Zend
Soap
Zend
Rest
Zend
XmlRpc
Zend
Controller
Page
Zend
Controller
Front
Controller, Marvel Comics
Zend
View
Zend
Layout
Vision, Marvel Comics
A reprodução é livre, apenas cite a fonte
@fgsl
Zend
Controller
Front
Zend
Application
Zend
Config
Ini
Xml
Boostrap
Inicialização
Configuração
A reprodução é livre, apenas cite a fonte
@fgsl
Zend
Tool
Geração de código
A reprodução é livre, apenas cite a fonte
@fgsl
Além do MVC...
►Action Helpers
►View Helpers
►Plugins
►ViewRenderer
►Router
Spiderman, Marvel Comics
Doctor Strange, Marvel Comics
A reprodução é livre, apenas cite a fonte
@fgsl
Banco de Dados
►Zend_Db: Abstração da conexão com o banco
►Zend_Db_Statement: Consultas armazenadas
►Zend_Db_Select: SQL orientada a objeto
►Zend_Db_Table: Padrões Data Row Gateway, Data Table
Gateway, Data Mapper e Active Record.
vamoganhargalo.blogspot.com
oculistasoloptica.com
A reprodução é livre, apenas cite a fonte
@fgsl
Segurança
►Zend_Acl: Controle de Acesso
►Zend_Auth, Zend_Oauth e
Zend_OpenId: Autenticação
►Zend_Filter: Conversores de dados
►Zend_Captcha: Anti-robô
►Zend_Log:Auditoria
►Zend_Validate: Regras de validação
bahianoticias.com.br
A reprodução é livre, apenas cite a fonte
@fgsl
Diagnóstico e Manutenção
►Zend_Debug
►Zend_Log
antigo.campinas.sp.gov.br
A reprodução é livre, apenas cite a fonte
@fgsl
Formulários Dinâmicos
►Zend_Form
Suporte a filtros, validadores, grupos, subformulários,
configuração por arquivo e internacionalização.
Superman & Flash, DC Comics
es.gov.br
A reprodução é livre, apenas cite a fonte
@fgsl
Infraestrutura
►Zend_Config: Configuração por arquivos INI ou XML
►Zend_Exception: Exceção padrão
►Zend_Loader: Carregamento de classes e arquivos
►Zend_Registry: Variáveis globais
►Zend_Session: Controle da sessão
►Zend_Version: Adivinhe...
blogisticanoticias.blogspot.com
A reprodução é livre, apenas cite a fonte
@fgsl
Performance
►Zend_Cache
►Zend_Config
►Zend_Loader
►Zend_Memory
brickset.com
A reprodução é livre, apenas cite a fonte
@fgsl
Internacionalização
►Zend_Date
►Zend_Currency
►Zend_Locale
►Zend_Translate
blogalize.net
A reprodução é livre, apenas cite a fonte
@fgsl
E-mail
►Zend_Mail
frutobrasil.com.br
A reprodução é livre, apenas cite a fonte
@fgsl
Sistema de Busca
►Zend_Search_Lucene
baseado em
A reprodução é livre, apenas cite a fonte
@fgsl
Integração com
Flash Player
►Zend_Amf
A reprodução é livre, apenas cite a fonte
@fgsl
Integração com
Dojo Toolkit
►Zend_Dojo
A reprodução é livre, apenas cite a fonte
@fgsl
Integração com JQuery
►ZendX_JQuery
A reprodução é livre, apenas cite a fonte
@fgsl
Integração com PHPUnit
►Zend_Test
blog.censanet.com.brkavorka.wordpress.com
A reprodução é livre, apenas cite a fonte
@fgsl
Computação em Nuvem
Zend_Cloud
Zend_Service
kayllanyketly.blogspot.com
A reprodução é livre, apenas cite a fonte
@fgsl
E muito mais...
massageandoocerebro.wordpress.com
A reprodução é livre, apenas cite a fonte
@fgsl
Ah, mas o outro
framework
suporta PHP 4...
Chatotorix, de René Goscinny e Albert Uderzo
A reprodução é livre, apenas cite a fonte
@fgsl
Obrigado!
A reprodução é livre, apenas cite a fonte
@fgsl
www.fgsl.eti.br
Little Einsteins by Walt Disney

MVC com Zend Framework - PHP Conference Brasil 2010

  • 1.
    MVC com ZendFramework Flávio Gomes da Silva Lisboa @fgsl www.fgsl.eti.br @fgsl A reprodução é livre, apenas cite a fonte Mickey, Donald Duck & Goofy by Walt Disney
  • 2.
    Quem sou eu 2007 20082009 A reprodução é livre, apenas cite a fonte @fgsl
  • 3.
    Aplicações... A reprodução élivre, apenas cite a fonte @fgsl serventedepedreiro2.blogspot.com
  • 4.
    Aplicações...Web A reprodução élivre, apenas cite a fonte @fgsl adrformacion.com tareadeinformatica-julia.blogspot.com altecnet.com.br freecoloringsheets.net
  • 5.
    Momento Cultural A reproduçãoé livre, apenas cite a fonte @fgsl
  • 6.
    A reprodução élivre, apenas cite a fonte @fgsl Aplicações são como cebolas... Shrek by Dreamworks Cebolinha by Maurício de Sousa hortifrutibrasil.blogspot.com
  • 7.
    A reprodução élivre, apenas cite a fonte @fgsl … elas têm camadas! mais-objetiva.blogspot.com
  • 8.
    A reprodução élivre, apenas cite a fonte @fgsl Mas pra quê camadas? manequim.abril.com.br copacabanadetoledo.blogger.com.br
  • 9.
    A reprodução élivre, apenas cite a fonte @fgsl O que são camadas? Martin Fowler camadas são “os subsistemas principais no software dispostos de forma parecida com camadas de um bolo, em que cada camada repousa sobre uma camada mais baixa”
  • 10.
    A reprodução élivre, apenas cite a fonte @fgsl Vantagens de usar camadas ►Compreensão de uma única camada como um todo coerente sem necessidade de saber muito sobre as demais camadas. ►Uma camada pode ser substituída por implementações alternativas dos mesmos serviços básicos. ►O uso de camadas diminui a dependência entre as partes de um sistema ►Camadas são bons lugares para definir padrões. ►Uma vez construída, uma camada pode ser usada por muitos serviços de nível mais alto.
  • 11.
    A reprodução élivre, apenas cite a fonte @fgsl Camadas de uma aplicação Recursos Externos Objetos de acesso a dados Mapeadores, repositórios e scritps de transação Modelos de domínio e Entidades Controle de fluxo da aplicação Apresentação ou exposição de serviço
  • 12.
    A reprodução élivre, apenas cite a fonte @fgsl E pra quê tudo isso? Porque só existe uma certeza no mundo do software...
  • 13.
    A reprodução élivre, apenas cite a fonte @fgsl O cliente vai pedir alterações... Eu te amo, você é perfeito... ...mas quero que você mude. Fonte: http://2.bp.blogspot.com/_UM47dm0ECOE/SK1mPgTEzaI/AAAAAAAAAo8/yf2scl7XEQ4/s400/amor+meu+grande+amor.jpg
  • 14.
    A reprodução élivre, apenas cite a fonte @fgsl O cliente vai pedir mais alterações... Mas fizemos um sistema que funciona, o cliente disse que estava ótimo... e agora temos que fazer mais alterações? Fonte: http://galeria.brfoto.com.br/data/1/choro_sem_cor.jpg
  • 15.
    @fgsl A reprodução élivre, apenas cite a fonte RESISTIR É INÚTIL!
  • 16.
    @fgsl A reprodução élivre, apenas cite a fonte RESISTIR É INÚTIL!
  • 17.
    @fgsl A reprodução élivre, apenas cite a fonte RESISTIR É INÚTIL!
  • 18.
    @fgsl A reprodução élivre, apenas cite a fonte RESISTIR É INÚTIL! Se a mudança é a única certeza, a questão é: Como mudar da melhor forma possível? matutando.com
  • 19.
    @fgsl A reprodução élivre, apenas cite a fonte Melhor mudança ●Custa pouco ●Leva menos tempo ●Cria o menor impacto na aplicação Fonte: http://aliceprina.files.wordpress.com/2007/09/mudanca-web2.jpg
  • 20.
    @fgsl A reprodução élivre, apenas cite a fonte Práticas que dificultam mudanças Criação de objetos pela especificação explícita de uma classe. Dependências de uma plataforma de hardware e software específica. Dependência de algoritmos específicos. Acoplamento forte de classes.
  • 21.
    @fgsl A reprodução élivre, apenas cite a fonte Tempo Algo que você já não tem Algo que você cada dia tem menos taocentro.blogspot.com oitopassos.com
  • 22.
    @fgsl A reprodução élivre, apenas cite a fonte Complexidade Algo que só tende a aumentar
  • 23.
    @fgsl A reprodução élivre, apenas cite a fonte Por isso, não invente! eladioebruna.blogspot.com
  • 24.
    @fgsl A reprodução élivre, apenas cite a fonte Reuse! mosaico.blogs.ie dvdnear.com produto.mercadolivre.com.br 19371973
  • 25.
    @fgsl A reprodução élivre, apenas cite a fonte Reuse! He-Man, Skeletor and Battle Cat by Mattel De novo essa cena?
  • 26.
    @fgsl A reprodução élivre, apenas cite a fonte Reuse! ivancarlo.blogspot.com fortressofbaileytude.com John Byrne - 1980 George Pérez - 1985
  • 27.
    @fgsl A reprodução élivre, apenas cite a fonte Reuse! http://www.coverbrowser.com/top/cool John Buscema - 1968 John Byrne - 1989
  • 28.
    @fgsl A reprodução élivre, apenas cite a fonte Reuse! http://www.interney.net/blogs/melhoresdomundo/2008/05/21/alex_ross_chupinha_de_novo Capas de John Byrne
  • 29.
    @fgsl A reprodução élivre, apenas cite a fonte Reutilização “O movimento para o desenvolvimento baseado em reuso foi uma resposta às demandas por menores custos de produção e manutenção de software, entregas mais rápidas de sistemas e aumento da qualidade do software”. Ian Sommerville
  • 30.
    @fgsl A reprodução élivre, apenas cite a fonte De código De desenho 010101011101101010101 111010010110110010101 010110101110101010101 001011111010110101010 110101010000011111001 011111010000110101010 101011110010101010100 011101010101010101110 001110101010101010101 010110101010101011111 Nonono nonnon nonono nononno Tipos de Reutilização
  • 31.
    @fgsl A reprodução élivre, apenas cite a fonte Tipos de Reutilização De objetos, quando módulos de código binário de interface padronizada são reaproveitados; De classes, o reaproveitamento de classes fundamentais e bibliotecas-padrão; De plataformas, que se refere ao reaproveitamento de camadas inteiras da arquitetura de uma aplicação.
  • 32.
    @fgsl A reprodução élivre, apenas cite a fonte Padrões “Padrões para componentes reusáveis facilitam o reuso”
  • 33.
    @fgsl A reprodução élivre, apenas cite a fonte Padrões “Padrão é uma maneira de fazer algo, ou de buscar um objetivo. Em qualquer atividade que já esteja madura ou em vias de amadurecer, encontraremos métodos eficazes comuns para atingir objetivos e para resolver problemas em vários contextos” Steven John Metsker
  • 34.
    @fgsl A reprodução élivre, apenas cite a fonte Padrões Reduzem a complexidade, fornecendo abstrações prontas; Reduzem os erros, institucionalizando os detalhes de soluções comuns; Fornecem valor heurístico, sugerindo alternativas de design; Otimizam a comunicação, movendo o diálogo do projeto para um nível mais alto. Steve McConnell
  • 35.
    @fgsl A reprodução élivre, apenas cite a fonte MVC é um padrão de projeto symfony-project.org Mas as camadas não tem que estar uma em cima da outra? Não necessariamente.
  • 36.
    A reprodução élivre, apenas cite a fonte @fgsl MVC é só a ponta do iceberg... Recursos Externos Objetos de acesso a dados Mapeadores, repositórios e scritps de transação Modelos de domínio e Entidades Controle de fluxo da aplicação Apresentação ou exposição de serviço M C V
  • 37.
    A reprodução élivre, apenas cite a fonte @fgsl Não se engane com a figura! Não tem só 1 modelo, 1 visão e 1 controlador.
  • 38.
    A reprodução élivre, apenas cite a fonte @fgsl Tem mais coisa! N N N
  • 39.
    A reprodução élivre, apenas cite a fonte @fgsl Uma aplicação tem vários problemas... ...por isso precisa de vários padrões de projeto Justile League of America, by DC Comics
  • 40.
    A reprodução élivre, apenas cite a fonte @fgsl Software Baseado em Padrão Para viabilizar o projeto de software baseado em padrão, “pode ser necessário fornecer uma infraestrutura do esqueleto de implementação específica, chamada de arcabouço (framework)”. Roger S. Pressman
  • 41.
    A reprodução élivre, apenas cite a fonte @fgsl Framework “O framework dita a arquitetura de sua aplicação. Ele irá definir a estrutura geral, sua divisão em classes e objetos e em consequência as responsabilidades-chave das classes de objetos, como estas colaboram, e o fluxo de controle. Um framework predefine esses parâmetros de projeto, de maneira que o projetista ou implementador da aplicação, possa se concentrar nos aspectos específicos da mesma”. (Gangue dos Quatro) Royal Flush Gang, by DC Comics Gangue dos Quatro
  • 42.
    A reprodução élivre, apenas cite a fonte @fgsl Inversão de Controle
  • 43.
    A reprodução élivre, apenas cite a fonte @fgsl Inversão de Controle A inversão de controle estabelece a diferença entre toolkits ou bibliotecas de sub-rotinas e frameworks. Nas primeiras, o desenvolvedor escreve o corpo principal da aplicação e chama o código que quer reutilizar. No último, o desenvolvedor reutiliza o corpo principal e escreve o código que o framework chama.
  • 44.
    A reprodução élivre, apenas cite a fonte @fgsl Criação de objetos de forma indireta. Não depende de uma plataforma de hardware e software específica (é PHP né? Dooh!). Não depende de suas próprias implementações. Acoplamento fraco de classes.
  • 45.
    A reprodução élivre, apenas cite a fonte @fgsl desciclopedia.org Zend Db Zend Service Zend Soap Zend Rest Zend XmlRpc Zend Controller Page Zend Controller Front Controller, Marvel Comics Zend View Zend Layout Vision, Marvel Comics
  • 46.
    A reprodução élivre, apenas cite a fonte @fgsl Zend Controller Front Zend Application Zend Config Ini Xml Boostrap Inicialização Configuração
  • 47.
    A reprodução élivre, apenas cite a fonte @fgsl Zend Tool Geração de código
  • 48.
    A reprodução élivre, apenas cite a fonte @fgsl Além do MVC... ►Action Helpers ►View Helpers ►Plugins ►ViewRenderer ►Router Spiderman, Marvel Comics Doctor Strange, Marvel Comics
  • 49.
    A reprodução élivre, apenas cite a fonte @fgsl Banco de Dados ►Zend_Db: Abstração da conexão com o banco ►Zend_Db_Statement: Consultas armazenadas ►Zend_Db_Select: SQL orientada a objeto ►Zend_Db_Table: Padrões Data Row Gateway, Data Table Gateway, Data Mapper e Active Record. vamoganhargalo.blogspot.com oculistasoloptica.com
  • 50.
    A reprodução élivre, apenas cite a fonte @fgsl Segurança ►Zend_Acl: Controle de Acesso ►Zend_Auth, Zend_Oauth e Zend_OpenId: Autenticação ►Zend_Filter: Conversores de dados ►Zend_Captcha: Anti-robô ►Zend_Log:Auditoria ►Zend_Validate: Regras de validação bahianoticias.com.br
  • 51.
    A reprodução élivre, apenas cite a fonte @fgsl Diagnóstico e Manutenção ►Zend_Debug ►Zend_Log antigo.campinas.sp.gov.br
  • 52.
    A reprodução élivre, apenas cite a fonte @fgsl Formulários Dinâmicos ►Zend_Form Suporte a filtros, validadores, grupos, subformulários, configuração por arquivo e internacionalização. Superman & Flash, DC Comics es.gov.br
  • 53.
    A reprodução élivre, apenas cite a fonte @fgsl Infraestrutura ►Zend_Config: Configuração por arquivos INI ou XML ►Zend_Exception: Exceção padrão ►Zend_Loader: Carregamento de classes e arquivos ►Zend_Registry: Variáveis globais ►Zend_Session: Controle da sessão ►Zend_Version: Adivinhe... blogisticanoticias.blogspot.com
  • 54.
    A reprodução élivre, apenas cite a fonte @fgsl Performance ►Zend_Cache ►Zend_Config ►Zend_Loader ►Zend_Memory brickset.com
  • 55.
    A reprodução élivre, apenas cite a fonte @fgsl Internacionalização ►Zend_Date ►Zend_Currency ►Zend_Locale ►Zend_Translate blogalize.net
  • 56.
    A reprodução élivre, apenas cite a fonte @fgsl E-mail ►Zend_Mail frutobrasil.com.br
  • 57.
    A reprodução élivre, apenas cite a fonte @fgsl Sistema de Busca ►Zend_Search_Lucene baseado em
  • 58.
    A reprodução élivre, apenas cite a fonte @fgsl Integração com Flash Player ►Zend_Amf
  • 59.
    A reprodução élivre, apenas cite a fonte @fgsl Integração com Dojo Toolkit ►Zend_Dojo
  • 60.
    A reprodução élivre, apenas cite a fonte @fgsl Integração com JQuery ►ZendX_JQuery
  • 61.
    A reprodução élivre, apenas cite a fonte @fgsl Integração com PHPUnit ►Zend_Test blog.censanet.com.brkavorka.wordpress.com
  • 62.
    A reprodução élivre, apenas cite a fonte @fgsl Computação em Nuvem Zend_Cloud Zend_Service kayllanyketly.blogspot.com
  • 63.
    A reprodução élivre, apenas cite a fonte @fgsl E muito mais... massageandoocerebro.wordpress.com
  • 64.
    A reprodução élivre, apenas cite a fonte @fgsl Ah, mas o outro framework suporta PHP 4... Chatotorix, de René Goscinny e Albert Uderzo
  • 65.
    A reprodução élivre, apenas cite a fonte @fgsl
  • 66.
    Obrigado! A reprodução élivre, apenas cite a fonte @fgsl www.fgsl.eti.br Little Einsteins by Walt Disney