Introdução ao Zend Framework 2
#laryssa-muniz Graduada em Telemática - Estácio de Sá Especialista em Engenharia de Software - UECE Mestranda em Ciências da Computação - UECE Analista de Sistemas - Brain Up Pesquisadora do grupo de Engenharia de Software e Sistemas Distribuídos (GESAD) - UECE Integrante das comunidades: Byte Girl PyLadies Fortaleza PHP com Rapadura
Agenda Introdução O que é um Framework? Para que serve um Framework? Tipos de Frameworks PHP Zend Framework 2 Um pouco sobre o ZF2 Visão Geral Porque usar o ZF2 Vantagens e Desvantagens O que é preciso para programar em ZF2?
Agenda Zend Framework 2 Arquitetura ZF2 Estrutura de Pastas ZF2 Como instalar o ZF2 Aplicações e Empresas que usam ZF2 Conclusão Livros Documentação Oficial
#introdução O que é um Framework? Frameworks representam uma estrutura formada por blocos pré-fabricados de software que os desenvolvedores podem usar, estender ou adaptar para uma solução específica e/ou linguagens de padrões. Fayad e Schmidt
#introdução Para que serve um Framework? A utilização de um framework torna-se útil no momento em que se constrói ou utiliza certo componente mais de uma vez, ou seja, facilita na reutilização de códigos. Ex.: Formulários de Login - Com o framework é possível criar um formulário genérico que poderá ser reutilizado em outras parte do código.
#introdução Tipos de Frameworks PHP?
Um pouco sobre o ZF2 Zend Framework é um framework para aplicações Web de código aberto, criado em 2005, orientado a objetos e implementado em PHP 5. Tem como objetivo simplificar o desenvolvimento web enquanto promove as melhores práticas na comunidade de desenvolvedores PHP.
Visão Geral ZF2 se estende também ao frontend fazendo uso do Bootstrap/Jquery em sua estrutura básica. É um framework bem estabelecido no mercado, desenvolvido pela Zend Technologies (mantedora oficial do PHP) e já está trabalhando no ZF3.
Porque usar o ZF2? Modular: Funciona como blocos de concreto que podem ser usados peça por peça com outras aplicações ou frameworks. Segurança: Possui diversas criptografias. Extensível: Fácil de adaptar para as suas necessidades. Comunidade: Possui uma extensa comunidade, com grande base de colaboradores e usuários. Alta Performance: Projetado pensando em desempenho. Pronto para o negócio: Possui uma história de sucesso comprovada e executada em aplicações de alto uso e negócio crítico.
Vantagens Qualidade de código: Utiliza diversos padrões de projeto em sua estrutura, tais como, MVC, Factory, Singleton, Observer, Strategy. Framework Robusto: Possibilita fazer sistemas complexos, seguros e eficientes. Reutilização de Código: Permite a utilização do composer, módulos de terceiros, facilita a organização e manutenção do seu código.
Desvantagens Aprendizado: Possui uma curva de aprendizado mais acentuada devido a configuração de rotas, integração do composer com doctrine, mapeamento com banco de dados. Arquivos em excesso: Possui arquivos em excesso que nem sempre serão necessários em seu projeto. Documentação: Por ser completa e extensa pode se tornar complexa.
O que é preciso para programar em ZF2 Lógica de Programação PHP Orientado a Objeto Ferramentas Auxiliares Namespaces Conhecimento de um SGBD (Obs: Namespaces possibilita o agrupamento de classes, interfaces, funções)
Arquitetura ZF2 Novo MVC ZF2: Composto pelo seguinte fluxo: Bootstrap, Route, Dispatch e Response. Principais Características ZF2: O MVC, Dependency Injection e os Events.
Arquitetura ZF2 Model (Modelo): Responsável pela leitura e escrita de dados, e também de suas validações. View (Visão): Camada de interação com o usuário. Ela apenas faz a exibição dos dados, sendo ela por meio de um html ou xml. Controller (Controlador): O responsável por receber todas as requisições do usuário. Seus métodos chamados actions são responsáveis por uma página, controlando qual model usar e qual view será mostrado ao usuário.
Ainda ta confuso sobre MVC? O Diálogo das Camadas: View: Oi Controller! O usuário acabou de pedir para acessar o Facebook! Pega os dados de login dele aí. Controller - Ok View, daqui a pouco te mando a resposta. Ei Model, pega esses dados de login e verifica se o usuário se loga. Model - Controller os dados são válidos, estou te enviando a resposta do login. Controller - Valeu Model. Ei View, o usuário informou os dados corretos. Vou mandar para você os dados dele e você carrega a página de perfil. View: Legal Controller, já estou apresentando para o usuário a página dele!
Estrutura de Pastas do ZF2
Estrutura de Pastas do ZF2 - config: Neste diretório ficam configurações da aplicação como um todo. Tem uma outra pasta, autoload, onde é sugerido que fiquem arquivos de configurações globais (production) e locais (development). - data: Aqui você pode armazenar os seus arquivos que não fazem parte do código da aplicação, mas sim outros relativos ao projeto, como diagramas, dumps do banco de dados. - module: Este é o principal diretório da sua aplicação. É aqui que vão ficar os módulos que você vai desenvolvendo. O módulo tem a seguinte estrutura: pasta chamada Application onde possui três diretórios principais: config, src e view.
Estrutura de Pastas do ZF2 - public: o ZF2 trabalha com FrontController, ou seja, tudo que você acessar estará acessando através de um caminho apenas. Os usuários de suas aplicações terão acesso a pasta e as imagens, arquivos CSS, JS e entre outros devem ficar também neste diretório. - vendor: diretório dedicado à bibliotecas de terceiros. Por exemplo: Bootstrap, Jquery, Bibliotecas para envio de e-mail ou qualquer outra devem ficar nesta pasta. Assim como o Composer e ZF2.
Estrutura da Pasta Module
Detalhes da Estrutura da Pasta Module - Application/config: nesta pasta ficam as configurações específicas do seu módulo. - Application/src: nesta pasta ficam os códigos da sua aplicação. - Application/view: nesta pasta ficam apenas os arquivos da camada de visualização de dados. O arquivo Module.php aparece então para fechar essa estrutura, possui a responsabilidade de controlar todo o módulo. Ou seja, antes de fazer qualquer coisa neste módulo, o Zend verificar as informações que estão contidas neste arquivo.
Como Instalar o ZF2 Instalar o servidor Web (Apache, Nginx,...) e o PHP a partir da versão 5.3; Obter a estrutura de uma aplicação ZF2: - Opção 1: fazer o git clone do Skeleton ZF2 - Opção 2: utilizar a ferramenta ZFTool que auxilia na criação de estruturas de um projeto em ZF2 Instalar o Composer E finalmente pelo terminal acessar a pasta public do projeto e digitar o comando especifico para acessar a aplicação no localhost.
#introdução Aplicações e Empresas que usam ZF2
#conclusão Livros
#conclusão Documentação Oficial Site: Framework Zend 2 - Documentation http://framework.zend. com/manual/current/en/index.html
OBRIGADA! PERGUNTAS? Slide: http://pt.slideshare.net/laryssamuniz/apresentao-flisol-2016