Come§ando com Zend Framework 2

  • View
    3.843

  • Download
    5

Embed Size (px)

DESCRIPTION

Nesta apresentação é mostrado como começar a utilizar o Zend Framework 2, um dos frameworks PHP mais bem conceituados do mercado.

Text of Come§ando com Zend Framework 2

  • 1. Unochapec Cezar Junior de Souza - 2013
  • 2. Sumrio O que o Zend Framework 2 Viso Geral Sistema de Autoloading Dependency Injection (DI) Gerenciador de Eventos Table Gateway O novo MVC Principais caractersticas Nova arquitetura (MVC, Di, Events) PHP 5.3 ou superior
  • 3. Sumrio Metodologias usadas no desenvolvimento Decoupling (ZendDi) Event Driven (ZendEventManager) Standard classes (ZendStdlib) Recurso utilizados do PHP 5.3 Namespace Lambda Functions/Closures (Funes annimas)
  • 4. Sumrio Instalao Entendendo o processo Fazendo a instalao No Windows XP/7/8 ZF Tool Composer No linux (Distribuies Debian e Red Hat) Rodando o framework
  • 5. Sumrio Iniciando Entendendo estrutura de pastas Application.config.php Global e Local.php O que so os Modules O mdulo padro Application Modules.php e Module.config.php IndexController e ViewModel
  • 6. Sumrio Criando um mdulo exemplo Criando o module.php Configurando o module.config.php Entendendo as rotas Registrando os controllers Configurando a view manager Fazendo o Hello World em nosso module
  • 7. Sumrio Entendendo as Models O que so models? Criando Entidade Conexo com o banco de dados Configurando a conexo com o MySql Fazendo listagem no controller e view
  • 8. Sumrio Criando um CRUD com ZF2 e MySql
  • 9. O que o Zend Framework? Antes... O que um framework?
  • 10. O que o Zend Framework? So conjuntos de classes que colaboram para realizar tarefas para um domnio de um problema. Framework um conjunto de classes que colaboram para realizar uma responsabilidade para um domnio de um subsistema de aplicao. Fayad e Shmidt
  • 11. O que o Zend Framework? Logo o Zend Framework um conjunto de classes para auxiliar a soluo de problemas para o domnio Web.
  • 12. O que o Zend Framework? Um pouco sobre o Zend Framework Zend Framework um framework para aplicaes Web de cdigo aberto, criado em 2005, orientado a objetos, implementado em PHP 5 e licenciado como New BSD License(Livre). Zend Framework desenvolvido com o objetivo de simplificar o desenvolvimento web enquanto promove as melhores prticas na comunidade de desenvolvedores PHP.
  • 13. O que o Zend Framework? Por que usar o zf2? modular e funciona como blocos de concreto que podem ser usados pea por pea com outras aplicaes ou frameworks; Extensvel: fcil de adaptar o framework para suas necessidades; Alta performasse: Projetado pensando em desempenho; Segurana: Todas as criptografias de segurana que voc precisa; Comunidade: Uma extensa comunidade e uma grande base de colaboradores e usurios; Pronto para o negcio: Uma histria de sucesso provada e executada em aplicaes de alto uso e negcio critico.
  • 14. Viso Geral Sistema de Autoloading No mais necessrio utilizar o require_once Mltiplas abordagens: O estilo de incluso de pastas do autoloader do ZF1 Por namespace/prefixo autoloading Class-map autoloading
  • 15. Viso Geral Sistema de Autoloading Performasse Class-Maps mostra uma melhora de 25% performasse em relao ao autoloader do ZF1 Namespaces mostra uma melhora >10% performasse na na
  • 16. Viso Geral Sistema de Autoloading Exemplos: Namespaces: namespace ModuleFolder; namespace AdminModel; namespace ClienteController; Class-Maps No arquivo autoload_classmap.php do mdulo: return array( 'MinhaClasse1' => 'minha_classe1.php', 'MinhaClasse2' => 'minha_classe2.php', );
  • 17. Viso Geral Como manuseado as dependncias entre objetos no ZF2?
  • 18. Viso Geral Dependency injection (Di).
  • 19. Viso Geral Dependency injection (Di) um design pattern com o proposito de diminuir o acoplamento entre os componentes do software.
  • 20. Viso Geral Sem DI class Foo { Com DI class Foo { protected $bar; protected $bar; public function _construct(){ public function _construct(Bar $bar){ $this->bar = new Bar(); $this->bar = $bar; } } ... } Contras: Dificuldades para os testes ... } Pros: Cdigo no isolado Facilidade nos testes Dificuldade para reusar o cdigo Flexibilidade na arquitetura
  • 21. Viso Geral Di por setter class Foo { protected $bar; public function setBar(Bar $bar) { $this->bar = $bar; } ...
  • 22. Viso Geral Gerenciador de Eventos Um Gerenciador de Evento um objeto que agrega listeners para um ou mais eventos nomeados e executa estes eventos Um listener um retorno de uma requisio que reage a um evento Um evento uma ao
  • 23. Viso Geral Table Gateway A funo de um TableGateway realizar operaes sobre entidades pois elas no possuem comportamento, sendo apenas representaes dos dados. As principais operaes como inserir, remover, atualizar, pesquisar sero sempre feitas atravs desse gateway. Existem muitas vantagens nessa abordagem como podermos mudar a camada das entidades ou mudar o comportamento de todas as entidades apenas alterando o gateway.
  • 24. Viso Geral O novo MVC Fluxo: bootstrap, route, dispatch, response Tudo um evento no MVC do ZF2
  • 25. Viso Geral Viso Geral Modulos A unidade bsica do ZF2 MVC app um Mdulo Um mdulo uma coleo de cdigo e arquivos que resolvem um problema especifico
  • 26. Viso Geral Principais caractersticas O MVC, Di e os Events so as principais caractersticas do ZF2 O ZF2 foi desenvolvido para ser utilizado pelo PHP 5.3 ou verses superiores
  • 27. Viso Geral Metodologias usadas no desenvolvimento Decoupling (ZendDi) Dissociao refere-se a cuidadosos controles de mdulos separados de cdigo de determinados casos que aumentam a possibilidade de reutilizao do cdigo; Event Driven (ZendEventManager) Dirigido a eventos; Standard classes (ZendStdlib) um outra grande caracterstica do PHP, com ela, pode-se criar uma classe annima. Ex: $page=new stdClass(); $page->name='Home'; $page->status=1;
  • 28. Viso Geral Recurso utilizados do PHP 5.3 Namespace Dentro do nam