27
Introdução ao Zend Framework 2

Apresentação Flisol 2016

Embed Size (px)

Citation preview

Page 1: Apresentação Flisol 2016

Introdução ao Zend Framework 2

Page 2: Apresentação Flisol 2016

✓ 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

#laryssa-muniz

Page 3: Apresentação Flisol 2016

✓ 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

Page 4: Apresentação Flisol 2016

✓ 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

Agenda

Page 5: Apresentação Flisol 2016

✓ 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

Page 6: Apresentação Flisol 2016

✓ 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

Page 7: Apresentação Flisol 2016

#introdução

✓ Tipos de Frameworks PHP ?

Page 8: Apresentação Flisol 2016

✓ 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.

#zend_framework_2

Page 9: Apresentação Flisol 2016

✓ Visão Geral

#zend_framework_2

ZF2 se estende também ao frontend fazendo uso do Bootstrap/Jquery em seu esqueleto básico. É um framework bem estabelecido no mercado, desenvolvido pela Zend Technologies, mantedora oficial do PHP, que já está trabalhando no ZF3.

Page 10: Apresentação Flisol 2016

✓ Porque usar o ZF2 ?

#zend_framework_2

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, 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.

Page 11: Apresentação Flisol 2016

✓ Vantagens

#zend_framework_2

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.

Page 12: Apresentação Flisol 2016

✓ Desvantagens

#zend_framework_2

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.

Page 13: Apresentação Flisol 2016

✓ O que é preciso para programar em ZF2

#zend_framework_2

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)

Page 14: Apresentação Flisol 2016

#zend_framework_2

✓ 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.

Page 15: Apresentação Flisol 2016

#zend_framework_2

✓ 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.

Page 16: Apresentação Flisol 2016

#zend_framework_2

✓ 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!

Page 17: Apresentação Flisol 2016

#zend_framework_2

✓ Estrutura de Pastas do ZF2

Page 18: Apresentação Flisol 2016

#zend_framework_2

✓ Estrutura de Pastas do ZF2

- config: Neste diretorio ficam configurações da aplicação como um todo. Tem uma outra pasta, “autoload”, onde é sugerido que fiquem arquivos com 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: na pasta Application temos três diretórios principais: config, src e view.

Page 19: Apresentação Flisol 2016

#zend_framework_2

✓ 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. Somente nesta pasta que os usuários de suas aplicação terão acesso. As suas imagens, arquivos CSS e JS entre outros devem ficar aqui 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.

Page 20: Apresentação Flisol 2016

#zend_framework_2

✓ Estrutura da Pasta Module

Page 21: Apresentação Flisol 2016

#zend_framework_2

✓ 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. Ele fica dentro do diretório do módulo Application, e possui a responsabilidade de controlar todo o módulo. Antes de fazer qualquer coisa neste módulo, o Zend verificar as informações que estão contidas no arquivo “Module.php”.

Page 22: Apresentação Flisol 2016

#zend_framework_2

✓ 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 o localhost:porta

Page 23: Apresentação Flisol 2016

#zend_framework_2

Page 24: Apresentação Flisol 2016

#introdução

✓ Aplicações e Empresas que usam ZF2

Page 25: Apresentação Flisol 2016

#conclusão

✓ Livros

Page 26: Apresentação Flisol 2016

#conclusão

✓ Documentação Oficial

➔ Site: Framework Zend 2 - Documentation

http://framework.zend.com/manual/current/en/index.html

Page 27: Apresentação Flisol 2016

OBRIGADA! PERGUNTAS?