O documento apresenta o framework PHP Zend Framework. Resume os principais tópicos discutidos como modelos, camadas de serviço, autenticação, formulários, controladores, visões e layouts. O palestrante enfatiza a importância de focar no domínio do negócio e usar sábiamente os componentes do framework.
3. O Palestrante
Tecnólogo em Processamento de Dados especialista em
interfaces de sistemas
Atua no desenvolvimento e implementação de sistemas focado
em software livre
Trabalha com PHP desde 1999
Analista de software de ITI em LigthComm Tecnologia e
Serviços
Consultor em tecnologias móveis (BlackBerry)
Membro ativo das comunidades: PHP-MG, PHP-SC, PHP-SP,
ZF-BRASIL, WP-Brasil
8. O Zend Framework
Prover um framework de alta qualidade para o
de desenvolvimento de aplicações web
Seguindo o espírito PHP, o ZF dispões de
poderosas funcionalidades que podem ser
facilmente implementadas pelos
desenvolvedores, com foco nos desafios da
construção de uma aplicação moderna e segura.
9. Visão Geral
Framework “Self-service”, use somente o necessário
para sua aplicação;
Tenha liberdade para integrar com outras
ferramentas/frameworks;
Fracamente acoplado;
PHP 5;
Incorpora tendências da web moderna
(webservices, ajax, xml, etc);
10. Visão Geral
Acordo de licença requerido para aqueles que
querem contribuir com código, atualizações,
documentações, etc;
Está sob a licença new BSD;
Certificação Oficial (Zend Certified Engenier -
Zend Framework);
Ativamente mantindo pela Zend e pela
comunidade
11. Visão Geral
Você confia em algo sem documentação?
Documentação
Estabilidade
Todos componentes rigorosamente testados
Todos componentes devem estar
documentados pelos desenvolvedores com caso
de uso
12. Em Resumo
Simplicidade
Toda parte dos bits, está desenvolvida, testada e
documentada
Possui componentes para a maioria das atividades
rotineiras do desenvolvimento web
Projeto Moderno, Orientação Objeto, Design Patterns
Completa documentação e de fácil acesso
Foco na regra de negócio
13. Em Resumo
É um framework e não só um conjunto de
componentes;
“Cola”, para construção de aplicações;
Alta Produtividade;
Use somente o que precisar, mas lembre-se
Ele sempre será distribuído em sua totalidade e ainda
Possui integração com outras ferramentas (pear, dojo,
jquery, smarty, etc)
17. QuickStart
localize o utilitário zf
Em bin/zf.sh ou bin/zf.bat (Dependendo do seu SO)
Adicione em seu Path o diretório bin da instalação
do ZF ou crie um alias
alias zf=/caminho/para/zf/bin/zf.sh
Ou ainda use a PEAR
pear.zfcampus.org PEAR Channel
18. Crie um projeto
#unix
% zf.zh create project quickstart
#dos/windows
C:> zf.bat create project quickstart
19. Adicione o ZF ao projeto
Link simbólico
ln -s /caminho/ZendFramework/library
Ou copie
copy -R /caminho/ZendFramework/library
31. O Modelo
Ou, “O desenvolvedor desenvolve suas classes de
acordo da necessidade”
32. O Modelo
Ok! Não existe um Zend_Model
ENTÃO NÃO PERGUNTE MAIS! OK?
33. O Modelo
Não amarre seus modelos ao acesso a dados
Torna os testes mais difíceis
Para usar cache ou SOA, a refatoração pode ser
mais difícil;
Re-estruturar o banco de dados pode se
quebrar facilmente
50. Autenticação e Autorização
Autenticação é a ação de verificar que alguém é
quem diz ser!
Autorização é a ação de determinar se alguém
pode acessar ou requerer um dado recurso.
52. Uma palavrinha sobre
Plugins
Agregue prefixos = define os caminhos
Zend_Validade => Zend/Validate
Use suas classes sem os prefixos
$class = $loader->load(“StringTrim”);
//Zend_Validate_StringTrim
Plugins podem ser utilizados em muitos
componentes (Zend_BootStrap, Zend_View,
Zend_Amf_Server, ...)
54. Agora vem os controladores
Controladores (“roteadores”)
55. Controladores
É quem realmente trabalha!
Em outras palavras:
Os controladores, recebe a requisição, roteia,
chamada para controladores de ação, pos-
requisição, envia retorno.
58. Usando o Controlador
Uma classe “nomeControlador”Controller
Não esqueça do prefixo da app
Foo_BarController
Atenção ao detalhe:
FooBarController na url é foo-bar!
Métodos de ações
“minhaAcao”Action()
59. E mais controlador
Detalhes do controlador
$view é a propriedade utilizada pelo objeto
para acessar os recursos disponibilizados pelo
controlador
getRequest e getResponse te da o poder de
acessar dados do ambiente da aplicação
(request/response)
60. Mais controlador
viewRenderer
Injeta os objetos da aplicação para acesso das
views, redenrizado no postDispatch()
Resolução simples da viewscript
<controller>/<action>.phtml
65. Uma palavrinha sobre
Zend_Form
Sobre Decorators
Tipicamente “Decorators” é um wrap funcional de
um objeto que te da poder para modificar seu
estado
Alternativa um “decorator” pode ser utilizado
para criar uma representação de um objeto
No Zend_Form, “decorator” é utilizado como
metados dos formulários e elementos para
representação destes
69. Layout
Zend_Layout implementa dois patterns:
CompositeView
TwoStepView
Internamente implementamos um front-
controller com seus plugins, actions, helpers,
views
71. Zend_Layout
recomendações
Seus views scripts devem ser concisos!
Trabalhe com seu layout a partir das views e nao
de seus controllers
Use o conceito de placeholder sempre que
possível
Configure seu layout em seu arquivo bootstrap
73. Conclusões e recomendações
Foque seu tempo de desenvolvimento no
domínio do seu modelo e no “service layers”
Use os componentes do Zend Framework com
sabedoria
Concentre seus esforços na camada de negócios
no topo de seu trabalho
Leia a documentação, contribua, reporte bugs...