Apresentação Flisol 2016

Preview:

Citation preview

Introdução ao Zend Framework 2

✓ 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

✓ 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

Agenda

✓ 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

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

#zend_framework_2

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

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

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

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

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

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

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

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

#zend_framework_2

✓ Estrutura de Pastas do ZF2

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

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

#zend_framework_2

✓ Estrutura da Pasta Module

#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”.

#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

#zend_framework_2

#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?