SlideShare uma empresa Scribd logo
1 de 27
Baixar para ler offline
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?

Mais conteúdo relacionado

Mais procurados

Padrão Arquitetural MVC e suas aplicações para WEB
Padrão Arquitetural MVC e suas aplicações para WEBPadrão Arquitetural MVC e suas aplicações para WEB
Padrão Arquitetural MVC e suas aplicações para WEBRafael França
 
4º FastShow - WPF Windows Presentation Foundation Overview
4º FastShow - WPF Windows Presentation Foundation Overview4º FastShow - WPF Windows Presentation Foundation Overview
4º FastShow - WPF Windows Presentation Foundation Overviewqualidatavix
 
Vue.js o poder das render functions
Vue.js  o poder das render functionsVue.js  o poder das render functions
Vue.js o poder das render functionsVinicius Reis
 
Entendendo Framework Web com Python
Entendendo Framework Web com PythonEntendendo Framework Web com Python
Entendendo Framework Web com PythonPythOnRio
 
Trabalho camadas final+ (1)
Trabalho camadas final+ (1)Trabalho camadas final+ (1)
Trabalho camadas final+ (1)sampaio0612
 
TDD e BDD - Developers-SP - Abril/2017
TDD e BDD - Developers-SP - Abril/2017TDD e BDD - Developers-SP - Abril/2017
TDD e BDD - Developers-SP - Abril/2017Renato Groff
 
Behavior-Driven Development (BDD) - Abril/2017
Behavior-Driven Development (BDD) - Abril/2017Behavior-Driven Development (BDD) - Abril/2017
Behavior-Driven Development (BDD) - Abril/2017Renato Groff
 
Padrões Arquiteturais - MVC, MVP e MVVM
Padrões Arquiteturais - MVC, MVP e MVVMPadrões Arquiteturais - MVC, MVP e MVVM
Padrões Arquiteturais - MVC, MVP e MVVMAricelio Souza
 
Desenvolvendo Produtos Com Java EE
Desenvolvendo Produtos Com Java EEDesenvolvendo Produtos Com Java EE
Desenvolvendo Produtos Com Java EEelliando dias
 
Processos e threads - trabalho redes 10ºano
Processos e threads - trabalho redes 10ºanoProcessos e threads - trabalho redes 10ºano
Processos e threads - trabalho redes 10ºanoHus Juky
 
Depurando aplicações PHP like a BOSS
Depurando aplicações PHP like a BOSSDepurando aplicações PHP like a BOSS
Depurando aplicações PHP like a BOSSThiago Rodrigues
 
.NET Core e Testes de Unidade - Visual Studio Summit 2017
.NET Core e Testes de Unidade - Visual Studio Summit 2017.NET Core e Testes de Unidade - Visual Studio Summit 2017
.NET Core e Testes de Unidade - Visual Studio Summit 2017Renato Groff
 

Mais procurados (15)

Padrão Arquitetural MVC e suas aplicações para WEB
Padrão Arquitetural MVC e suas aplicações para WEBPadrão Arquitetural MVC e suas aplicações para WEB
Padrão Arquitetural MVC e suas aplicações para WEB
 
Camadas
CamadasCamadas
Camadas
 
4º FastShow - WPF Windows Presentation Foundation Overview
4º FastShow - WPF Windows Presentation Foundation Overview4º FastShow - WPF Windows Presentation Foundation Overview
4º FastShow - WPF Windows Presentation Foundation Overview
 
Vue.js o poder das render functions
Vue.js  o poder das render functionsVue.js  o poder das render functions
Vue.js o poder das render functions
 
Minicurso Yii2
Minicurso Yii2Minicurso Yii2
Minicurso Yii2
 
Entendendo Framework Web com Python
Entendendo Framework Web com PythonEntendendo Framework Web com Python
Entendendo Framework Web com Python
 
Trabalho camadas final+ (1)
Trabalho camadas final+ (1)Trabalho camadas final+ (1)
Trabalho camadas final+ (1)
 
BDD2
BDD2BDD2
BDD2
 
TDD e BDD - Developers-SP - Abril/2017
TDD e BDD - Developers-SP - Abril/2017TDD e BDD - Developers-SP - Abril/2017
TDD e BDD - Developers-SP - Abril/2017
 
Behavior-Driven Development (BDD) - Abril/2017
Behavior-Driven Development (BDD) - Abril/2017Behavior-Driven Development (BDD) - Abril/2017
Behavior-Driven Development (BDD) - Abril/2017
 
Padrões Arquiteturais - MVC, MVP e MVVM
Padrões Arquiteturais - MVC, MVP e MVVMPadrões Arquiteturais - MVC, MVP e MVVM
Padrões Arquiteturais - MVC, MVP e MVVM
 
Desenvolvendo Produtos Com Java EE
Desenvolvendo Produtos Com Java EEDesenvolvendo Produtos Com Java EE
Desenvolvendo Produtos Com Java EE
 
Processos e threads - trabalho redes 10ºano
Processos e threads - trabalho redes 10ºanoProcessos e threads - trabalho redes 10ºano
Processos e threads - trabalho redes 10ºano
 
Depurando aplicações PHP like a BOSS
Depurando aplicações PHP like a BOSSDepurando aplicações PHP like a BOSS
Depurando aplicações PHP like a BOSS
 
.NET Core e Testes de Unidade - Visual Studio Summit 2017
.NET Core e Testes de Unidade - Visual Studio Summit 2017.NET Core e Testes de Unidade - Visual Studio Summit 2017
.NET Core e Testes de Unidade - Visual Studio Summit 2017
 

Destaque

Quesada presenterar process för flytt till Portugal
Quesada  presenterar process för flytt till PortugalQuesada  presenterar process för flytt till Portugal
Quesada presenterar process för flytt till PortugalLeventa AB
 
Programming Without Coding Technology (PWCT) - Read Files
Programming Without Coding Technology (PWCT) - Read FilesProgramming Without Coding Technology (PWCT) - Read Files
Programming Without Coding Technology (PWCT) - Read FilesMahmoud Samir Fayed
 
situación de aprendizaje y didáctica crítica
situación de aprendizaje y didáctica críticasituación de aprendizaje y didáctica crítica
situación de aprendizaje y didáctica críticaestelasaenz73
 
Evolución del castellano
Evolución del castellanoEvolución del castellano
Evolución del castellanojonycolombini
 
ASST RHODENSE: IMPORTANTE RICONOSCIMENTO ASSEGNATO AI PRESIDI DI GARBAGNATE, ...
ASST RHODENSE: IMPORTANTE RICONOSCIMENTO ASSEGNATO AI PRESIDI DI GARBAGNATE, ...ASST RHODENSE: IMPORTANTE RICONOSCIMENTO ASSEGNATO AI PRESIDI DI GARBAGNATE, ...
ASST RHODENSE: IMPORTANTE RICONOSCIMENTO ASSEGNATO AI PRESIDI DI GARBAGNATE, ...martino massimiliano trapani
 
Asst rhodense premiata come azienda che produce salute
Asst rhodense premiata come azienda che produce saluteAsst rhodense premiata come azienda che produce salute
Asst rhodense premiata come azienda che produce salutemartino massimiliano trapani
 
Didattica Multimediale 1
Didattica Multimediale 1Didattica Multimediale 1
Didattica Multimediale 1sandraslide
 

Destaque (11)

Quesada presenterar process för flytt till Portugal
Quesada  presenterar process för flytt till PortugalQuesada  presenterar process för flytt till Portugal
Quesada presenterar process för flytt till Portugal
 
Programming Without Coding Technology (PWCT) - Read Files
Programming Without Coding Technology (PWCT) - Read FilesProgramming Without Coding Technology (PWCT) - Read Files
Programming Without Coding Technology (PWCT) - Read Files
 
Audit Energetico
Audit EnergeticoAudit Energetico
Audit Energetico
 
Club San Marino
Club San MarinoClub San Marino
Club San Marino
 
situación de aprendizaje y didáctica crítica
situación de aprendizaje y didáctica críticasituación de aprendizaje y didáctica crítica
situación de aprendizaje y didáctica crítica
 
Evolución del castellano
Evolución del castellanoEvolución del castellano
Evolución del castellano
 
ASST RHODENSE: IMPORTANTE RICONOSCIMENTO ASSEGNATO AI PRESIDI DI GARBAGNATE, ...
ASST RHODENSE: IMPORTANTE RICONOSCIMENTO ASSEGNATO AI PRESIDI DI GARBAGNATE, ...ASST RHODENSE: IMPORTANTE RICONOSCIMENTO ASSEGNATO AI PRESIDI DI GARBAGNATE, ...
ASST RHODENSE: IMPORTANTE RICONOSCIMENTO ASSEGNATO AI PRESIDI DI GARBAGNATE, ...
 
Asst rhodense premiata come azienda che produce salute
Asst rhodense premiata come azienda che produce saluteAsst rhodense premiata come azienda che produce salute
Asst rhodense premiata come azienda che produce salute
 
Un importante premio per i nostri ospedali
Un importante premio per i nostri ospedaliUn importante premio per i nostri ospedali
Un importante premio per i nostri ospedali
 
Didattica Multimediale 1
Didattica Multimediale 1Didattica Multimediale 1
Didattica Multimediale 1
 
evoluzione sistema sanitario nazionale
evoluzione sistema sanitario nazionale evoluzione sistema sanitario nazionale
evoluzione sistema sanitario nazionale
 

Semelhante a Apresentação Flisol 2016

Começando com Zend Framework 2
Começando com Zend Framework 2Começando com Zend Framework 2
Começando com Zend Framework 2Cezar Souza
 
ZF Básico - 1. Introdução
ZF Básico - 1. IntroduçãoZF Básico - 1. Introdução
ZF Básico - 1. IntroduçãoMarcos Bezerra
 
Palestra Zend Framework CISL 2012 - ZF no Governo Federal
Palestra Zend Framework CISL 2012 - ZF no Governo FederalPalestra Zend Framework CISL 2012 - ZF no Governo Federal
Palestra Zend Framework CISL 2012 - ZF no Governo FederalFlávio Lisboa
 
Desmistificando o Framework da Zend
Desmistificando o Framework da ZendDesmistificando o Framework da Zend
Desmistificando o Framework da ZendDomingos Teruel
 
Zend Framework 2 - Desenvolvimento Ágil Competente
Zend Framework 2 - Desenvolvimento Ágil CompetenteZend Framework 2 - Desenvolvimento Ágil Competente
Zend Framework 2 - Desenvolvimento Ágil CompetenteMichael Cardoso
 
Conhecendo o Zend Framework
Conhecendo o Zend FrameworkConhecendo o Zend Framework
Conhecendo o Zend FrameworkJaime Neto
 
CURSO DELPHI FUND. CLIENT SERVER (DIURNO)
CURSO DELPHI FUND. CLIENT SERVER (DIURNO) CURSO DELPHI FUND. CLIENT SERVER (DIURNO)
CURSO DELPHI FUND. CLIENT SERVER (DIURNO) Grupo Treinar
 
Análise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e Zend
Análise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e ZendAnálise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e Zend
Análise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e ZendThiago Sinésio
 
Analise frameworks php
Analise frameworks phpAnalise frameworks php
Analise frameworks phpIgor Moura
 
Palestra - Symfony Framework MVC PHP 5
Palestra - Symfony Framework MVC PHP 5Palestra - Symfony Framework MVC PHP 5
Palestra - Symfony Framework MVC PHP 5Lucas Augusto Carvalho
 
DDD – Domain Driven Design
DDD – Domain Driven DesignDDD – Domain Driven Design
DDD – Domain Driven DesignÍtalo Bandeira
 
Minicurso code igniter aula 2
Minicurso code igniter   aula 2Minicurso code igniter   aula 2
Minicurso code igniter aula 2lfernandomcj
 
ZF2 básico : Desenvolvendo um Blog com o Zend Framework 2
ZF2 básico : Desenvolvendo um Blog com o Zend Framework 2ZF2 básico : Desenvolvendo um Blog com o Zend Framework 2
ZF2 básico : Desenvolvendo um Blog com o Zend Framework 2Cezar Souza
 
Frameworks de desenvolvimento web
Frameworks de desenvolvimento webFrameworks de desenvolvimento web
Frameworks de desenvolvimento webArlindo Santos
 

Semelhante a Apresentação Flisol 2016 (20)

Começando com Zend Framework 2
Começando com Zend Framework 2Começando com Zend Framework 2
Começando com Zend Framework 2
 
ZF Básico - 1. Introdução
ZF Básico - 1. IntroduçãoZF Básico - 1. Introdução
ZF Básico - 1. Introdução
 
MVC & Zend Framework
MVC & Zend FrameworkMVC & Zend Framework
MVC & Zend Framework
 
Palestra Zend Framework no Governo Federal
Palestra Zend Framework  no Governo FederalPalestra Zend Framework  no Governo Federal
Palestra Zend Framework no Governo Federal
 
Palestra Zend Framework CISL 2012 - ZF no Governo Federal
Palestra Zend Framework CISL 2012 - ZF no Governo FederalPalestra Zend Framework CISL 2012 - ZF no Governo Federal
Palestra Zend Framework CISL 2012 - ZF no Governo Federal
 
Desmistificando o Framework da Zend
Desmistificando o Framework da ZendDesmistificando o Framework da Zend
Desmistificando o Framework da Zend
 
Zend Framework 2 - Desenvolvimento Ágil Competente
Zend Framework 2 - Desenvolvimento Ágil CompetenteZend Framework 2 - Desenvolvimento Ágil Competente
Zend Framework 2 - Desenvolvimento Ágil Competente
 
Conhecendo o Zend Framework
Conhecendo o Zend FrameworkConhecendo o Zend Framework
Conhecendo o Zend Framework
 
CURSO DELPHI FUND. CLIENT SERVER (DIURNO)
CURSO DELPHI FUND. CLIENT SERVER (DIURNO) CURSO DELPHI FUND. CLIENT SERVER (DIURNO)
CURSO DELPHI FUND. CLIENT SERVER (DIURNO)
 
Frameworks PHP @edgarsandi
Frameworks PHP @edgarsandiFrameworks PHP @edgarsandi
Frameworks PHP @edgarsandi
 
Análise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e Zend
Análise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e ZendAnálise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e Zend
Análise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e Zend
 
Analise frameworks php
Analise frameworks phpAnalise frameworks php
Analise frameworks php
 
Palestra - Symfony Framework MVC PHP 5
Palestra - Symfony Framework MVC PHP 5Palestra - Symfony Framework MVC PHP 5
Palestra - Symfony Framework MVC PHP 5
 
PHP 10 CodeIgniter
PHP 10 CodeIgniterPHP 10 CodeIgniter
PHP 10 CodeIgniter
 
Frameworks em Java
Frameworks em JavaFrameworks em Java
Frameworks em Java
 
DDD – Domain Driven Design
DDD – Domain Driven DesignDDD – Domain Driven Design
DDD – Domain Driven Design
 
Minicurso code igniter aula 2
Minicurso code igniter   aula 2Minicurso code igniter   aula 2
Minicurso code igniter aula 2
 
ZF2 básico : Desenvolvendo um Blog com o Zend Framework 2
ZF2 básico : Desenvolvendo um Blog com o Zend Framework 2ZF2 básico : Desenvolvendo um Blog com o Zend Framework 2
ZF2 básico : Desenvolvendo um Blog com o Zend Framework 2
 
Angular 2
Angular 2Angular 2
Angular 2
 
Frameworks de desenvolvimento web
Frameworks de desenvolvimento webFrameworks de desenvolvimento web
Frameworks de desenvolvimento web
 

Apresentação Flisol 2016

  • 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
  • 3. ✓ 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
  • 4. ✓ 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
  • 5. ✓ 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
  • 6. ✓ 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
  • 7. #introdução ✓ Tipos de Frameworks PHP ?
  • 8. ✓ 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
  • 9. ✓ 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.
  • 10. ✓ 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.
  • 11. ✓ 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.
  • 12. ✓ 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.
  • 13. ✓ 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)
  • 14. #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.
  • 15. #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.
  • 16. #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!
  • 18. #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.
  • 19. #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.
  • 21. #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”.
  • 22. #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
  • 24. #introdução ✓ Aplicações e Empresas que usam ZF2
  • 26. #conclusão ✓ Documentação Oficial ➔ Site: Framework Zend 2 - Documentation http://framework.zend. com/manual/current/en/index.html