Desmistificando o Framework da Zend

4,634 views

Published on

Desmistificando o framework da Zend, foi ministrado no 2.PHP Maranhão, encontro anual dos usuários PHP do estado do Maranhão. O Objetivo desta palestra e dar dicas sobre como começar e quais componentes estudar para então começar a desenvolver aplicações com esse poderoso framework que é mais simples do que parece.

Published in: Technology
0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
4,634
On SlideShare
0
From Embeds
0
Number of Embeds
28
Actions
Shares
0
Downloads
250
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide

Desmistificando o Framework da Zend

  1. 1. Desmistificando o Framework da Zend 2.PHP Maranhão - São Luís - MA Fevereiro-2009 Po r Dom ingo s Te ruel
  2. 2. Agenda Apresentação O Zend Framework Primeiros passos Quickstart Modelos Camada de serviços (service layers) Autenticação e Autorização Zend_Form Plugins Controllers Visão e Layouts
  3. 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
  4. 4. Vamos nos localizar? O que é o um Framework?
  5. 5. Contextualização Um framework completo?
  6. 6. Contextualização Um biblioteca de componentes?
  7. 7. Contextualização Ambos?
  8. 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. 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. 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. 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. 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. 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)
  14. 14. Por onde eu começo? http://framework.zend.com
  15. 15. QuickStart Zend_Tool Como começar a usa-lo e amar o Zend_Tool
  16. 16. 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
  17. 17. Crie um projeto #unix % zf.zh create project quickstart #dos/windows C:> zf.bat create project quickstart
  18. 18. Adicione o ZF ao projeto Link simbólico ln -s /caminho/ZendFramework/library Ou copie copy -R /caminho/ZendFramework/library
  19. 19. Configure seu virtual host
  20. 20. E a mágica é feita
  21. 21. Estrutura de diretórios
  22. 22. O Arquivo Bootstrap
  23. 23. Configure sua aplicação
  24. 24. O controlador padrão
  25. 25. O Controlador de erros
  26. 26. A View
  27. 27. A Error View
  28. 28. O .htaccess
  29. 29. index.php (O Ambiente)
  30. 30. O Modelo Ou, “O desenvolvedor desenvolve suas classes de acordo da necessidade”
  31. 31. O Modelo Ok! Não existe um Zend_Model ENTÃO NÃO PERGUNTE MAIS! OK?
  32. 32. 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
  33. 33. O Modelo O modelo nada mais são que suas classes;
  34. 34. O Modelo
  35. 35. O Modelo
  36. 36. O Modelo Modelos normalmente são responsáveis por estados, metadados, condições...
  37. 37. O Modelo
  38. 38. O Modelo Persista seus modelos Defina seu banco de dados; Fale para sua aplicação sobre seu banco de dados
  39. 39. O Modelo
  40. 40. O Modelo
  41. 41. Ainda sobre o Modelo Zend_Db_Table - O Gateway O Modelo Entidade Relacional para o Zend_Db
  42. 42. Ainda sobre o Modelo Zend_Db_Table Relacionamentos
  43. 43. Uma nota sobre dados Dados !== Banco de Dados
  44. 44. Que mais Sobre nomes e auto-carregamento Sempre adote a técnica de prefixar seus desenvolvimentos
  45. 45. Dica! Recursos também devem ser informados ao auto-carregador!
  46. 46. Dica! Como usar a estrutura de diretórios com o auto- carregador
  47. 47. Vamos falar sobre camadas As aplicações em geral, tem muitas camadas!
  48. 48. Vamos falar sobre camadas
  49. 49. 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.
  50. 50. Autenticação e Autorização Zend_Authenticate_Adapter Zend_Acl e Zend_Acl_Role
  51. 51. 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, ...)
  52. 52. Exemplo
  53. 53. Agora vem os controladores Controladores (“roteadores”)
  54. 54. 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.
  55. 55. Compõe o controlador Zend_Controller_Front Zend_Controller_Plugin Zend_Controller_Router Zend_Controller_Dispatcher Zend_Controller_Action_Helper ...
  56. 56. Controladores
  57. 57. 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()
  58. 58. 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)
  59. 59. Mais controlador viewRenderer Injeta os objetos da aplicação para acesso das views, redenrizado no postDispatch() Resolução simples da viewscript <controller>/<action>.phtml
  60. 60. Criando um controlador com zf-tool
  61. 61. Views PHP como linguagem de templates Zend_View Variáveis em views são objetos “$this” é um objeto de view
  62. 62. Views Helpers HtmlList HtmlFlash HtmlObject Json Navigation PaginationNavigator Translate Url
  63. 63. View Helpers Placeholder helps
  64. 64. 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
  65. 65. Sobre Decorators
  66. 66. Sobre Zend_Form Decorators são plugins Podem ser utilizados isoladamente Overloading de decorators existentes
  67. 67. Sobre Zend_Form Helpers de Zend_Form FormButtons FormChekBoxes FormInputs FormSelects FormFile
  68. 68. Layout Zend_Layout implementa dois patterns: CompositeView TwoStepView Internamente implementamos um front- controller com seus plugins, actions, helpers, views
  69. 69. Layout
  70. 70. 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
  71. 71. Zend_Layout recomendações
  72. 72. 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...
  73. 73. Perguntas? ????????????
  74. 74. Obrigado! http://meadiciona.com/mingomax http://www.twitter.com/mingomax fale@dteruel.com.br

×