Slides

Desmistificando o Framework da Zend

Description
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.
Categories
Published
of 75
All materials on our website are shared by users. If you have any questions about copyright issues, please report us to resolve them. We are always happy to assist you.
Related Documents
Share
Transcript
  • 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. 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. 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. Vamos nos localizar? O que é o um Framework?
  • 5. Contextualização Um framework completo?
  • 6. Contextualização Um biblioteca de componentes?
  • 7. Contextualização Ambos?
  • 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)
  • 14. Por onde eu começo? http://framework.zend.com
  • 15. QuickStart Zend_Tool Como começar a usa-lo e amar o Zend_Tool
  • 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. Crie um projeto #unix % zf.zh create project quickstart #dos/windows C:> zf.bat create project quickstart
  • 18. Adicione o ZF ao projeto Link simbólico ln -s /caminho/ZendFramework/library Ou copie copy -R /caminho/ZendFramework/library
  • 19. Configure seu virtual host
  • 20. E a mágica é feita
  • 21. Estrutura de diretórios
  • 22. O Arquivo Bootstrap
  • 23. Configure sua aplicação
  • 24. O controlador padrão
  • 25. O Controlador de erros
  • 26. A View
  • 27. A Error View
  • 28. O .htaccess
  • 29. index.php (O Ambiente)
  • 30. O Modelo Ou, “O desenvolvedor desenvolve suas classes de acordo da necessidade”
  • 31. O Modelo Ok! Não existe um Zend_Model ENTÃO NÃO PERGUNTE MAIS! OK?
  • 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. O Modelo O modelo nada mais são que suas classes;
  • 34. O Modelo
  • 35. O Modelo
  • 36. O Modelo Modelos normalmente são responsáveis por estados, metadados, condições...
  • 37. O Modelo
  • 38. O Modelo Persista seus modelos Defina seu banco de dados; Fale para sua aplicação sobre seu banco de dados
  • 39. O Modelo
  • 40. O Modelo
  • 41. Ainda sobre o Modelo Zend_Db_Table - O Gateway O Modelo Entidade Relacional para o Zend_Db
  • 42. Ainda sobre o Modelo Zend_Db_Table Relacionamentos
  • 43. Uma nota sobre dados Dados !== Banco de Dados
  • 44. Que mais Sobre nomes e auto-carregamento Sempre adote a técnica de prefixar seus desenvolvimentos
  • 45. Dica! Recursos também devem ser informados ao auto-carregador!
  • 46. Dica! Como usar a estrutura de diretórios com o auto- carregador
  • 47. Vamos falar sobre camadas As aplicações em geral, tem muitas camadas!
  • 48. Vamos falar sobre camadas
  • 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. Autenticação e Autorização Zend_Authenticate_Adapter Zend_Acl e Zend_Acl_Role
  • 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. Exemplo
  • 53. Agora vem os controladores Controladores (“roteadores”)
  • 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. Compõe o controlador Zend_Controller_Front Zend_Controller_Plugin Zend_Controller_Router Zend_Controller_Dispatcher Zend_Controller_Action_Helper ...
  • 56. Controladores
  • 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. 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. 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. Criando um controlador com zf-tool
  • 61. Views PHP como linguagem de templates Zend_View Variáveis em views são objetos “$this” é um objeto de view
  • 62. Views Helpers HtmlList HtmlFlash HtmlObject Json Navigation PaginationNavigator Translate Url
  • 63. View Helpers Placeholder helps
  • 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. Sobre Decorators
  • 66. Sobre Zend_Form Decorators são plugins Podem ser utilizados isoladamente Overloading de decorators existentes
  • 67. Sobre Zend_Form Helpers de Zend_Form FormButtons FormChekBoxes FormInputs FormSelects FormFile
  • 68. Layout Zend_Layout implementa dois patterns: CompositeView TwoStepView Internamente implementamos um front- controller com seus plugins, actions, helpers, views
  • 69. Layout
  • 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. Zend_Layout recomendações
  • 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. Perguntas? ????????????
  • 74. Obrigado! http://meadiciona.com/mingomax http://www.twitter.com/mingomax fale@dteruel.com.br
  • We Need Your Support
    Thank you for visiting our website and your interest in our free products and services. We are nonprofit website to share and download documents. To the running of this website, we need your help to support us.

    Thanks to everyone for your continued support.

    No, Thanks