um tour pelo mundo ágil
Zend Framework 2
desenvolvimento web ágil competente
Por Michael Cardoso | michael@codigointerno.com
Como Aprenderemos
Um passo para cada etapa do caminho
Revisão e
Conceitos
Ferramentas
e Instalação
Prática
Revisão e conceitos
O que precisamos saber antes de ir a caçada
é um framework para:
• Aplicações Web de código aberto
• Fortemente orientado a objetos
(encapsulado)
• Implementado para roda a partir do
PHP 5.3
• O ZF2 foi lançado em 2012
• Modular
• Extensível
• Grande performance
• Seguro
• Possui uma comunidade ativa de
desenvolvimento
• Suportado para grandes aplicações
O Zend Framework 2
O ZF 2 é um framework de alto nível,
possibilitando execução de projetos de
grande escalabilidade e desempenho.
Para isso, a linha de aprendizagem exige um
profissional que se aprimore sempre
usufruindo do seu PowerUser.
O que é preciso
saber para
programar com o
Zend Framework 2?
Lógica de Programação
PHP Orientado Objeto
Namespaces
Conhecimento de um
SGBD
Ferramentas Auxiliares
Namespaces
• O que é?
– Possibilita o agrupamento de Classes, interfaces,
funções e constantes,
– Evita o conflito entre seus nomes, atuando como
um encapsulador para estes itens,
Namespaces
• O que é?
– Seu funcionamento é equivalente ao de diretórios
em sistemas operacionais, onde dois arquivos de
mesmo nome não podem existir em um único
diretório, mas nada impede a existência de dois
arquivos de mesmo nome localizados em
diretórios distintos, este mesmo princípio é
aplicado no PHP através de namespaces.
Namespaces
• Conexao.php
<?php
namespace MeuProjeto;
function connect() {
// Faz a sua conexão com o banco de dados
}
?>
<?php
// Inclui o arquivo com a função
include("conexao.php");
// Chama a função dentro do namespace
MeuProjeto/connect();
?>
• Index.php
Namespaces
• Uso de classe com Namespaces
// Example - Namespace scope
namespace ProjectModel;
class User {}
$var = new User;
// Resultado: ProjectModelUser
// Example - Global scope
class User {}
$var = new User;
// Resultado: User
• Uso de classe sem Namespaces (global)
Namespaces
• Aliasing / Importing
– Uma característica importante ao trabalhar com namespaces é a
possibilidade de importar e atribuir apelidos;
– A palavra-chave use é utilizada para importar classes, interfaces ou
namespaces através de seus nomes;
*não é possível importar funções ou constantes.
– Para adicionar apelidos, utilizamos a palavra-chave as, escolhendo um
nome mais acessível, ou seja, um apelido, existem duas maneiras de
realizar importações:
use ProjectModelUser;
// É o mesmo que: use ProjectModelUser as User;
$var = new User;
// Resultado: ProjectModelUser
Namespaces
• Aliasing / Importing
– O PHP oferece um atalho para realizar múltiplas importações na
mesma linha, onde cada importação é separada através de uma
virgula.
use ProjectModelUser, ProjectModelPost as Article;
$var = new Article;
// Resultado: ProjectModelPost
ArquiteturadoZF2 Entendo o paradigma MVC
Model, View, Controller
Cada um assume sua
tarefa , demando,
respondo e exibindo ao
usuário o resultado do
que foi requisita.
ArquiteturadoZF2 Entendo o paradigma MVC
reusabilidade de código e separação de conceitos
• Model (modelo)
– consiste nos dados da aplicação, regras de negócios, lógica e
funções;
• View (visão)
– pode ser qualquer saída de representação dos dados, como
uma tabela ou um diagrama
• Controller (controlador )
– faz a mediação da entrada, convertendo-a em comandos
para o modelo ou visão
ArquiteturadoZF2 Entendo o paradigma MVC
reusabilidade de código e separação de conceitos
1. Usuário faz uma requisição
clicando em um link, enviando
um formulário, etc.
2. Controller recebe essa requisição.
3. Controller solicita informações ao
Model.
4. Model retorna para o Controller
os dados solicitados.
5. Controller envia informações para
View.
6. View solicita dados ao Model.
7. Model retorna para View os
dados solicitados.
8. A página é exibida para o usuário.
Ferramentas e instalação
O que é preciso e como instalar
WAMP Server
• O que é?
– É usado para instalar rapidamente no computador
os softwares PHP 5, MySQL e Apache,
disponibilizando suporte ao uso de scripts PHP
localmente no Windows.
• Apache
• PHP
• SQLBuddy
• MySQL
• PhpMyadmin
• XDebug
• webGrind
Eclipse
• O que é?
– Eclipse é um IDE para desenvolvimento Java,
porém suporta várias outras linguagens a partir de
plugins como C/C++,PHP,ColdFusion, Python, Scala
e plataforma Android.
– Para desenvolver em Zend PHP, temos que baixar
a perspectiva PHP.
GIT
• O que é?
– É um sistema de controle de versão distribuído e um sistema de
gerenciamento de código fonte, com ênfase em velocidade.
– Foi inicialmente projetado e desenvolvido por Linus Torvalds
para o desenvolvimento do kernel Linux, mas foi adotado por
muitos outros projetos.
– Cada diretório de trabalho do Git é um repositório com um
histórico completo e habilidade total de acompanhamento das
revisões, não dependente de acesso a uma rede ou a um
servidor central.
Composer
• O que é?
– O Composer é um gerenciador de dependências
para o PHP. Com ele você define a lista de
bibliotecas (e versões) das quais o seu projeto
depende, e ele cuida da instalação, organização e
“inclusão”.
“Instalação” do ZF2
• Vamos instalar o Zend
Skeleton
Skeleton?
“Instalação” do ZF2
• Instalando o Zend Skeleton
1. Abra o GitBash
2. Entra na pasta do projeto c:/wamp/www
“Instalação” do ZF2
• Instalando o Zend Skeleton
1. Abra o Executar > cmd
2. Entra na pasta do projeto (cd) c:/wamp/www
Instalação do ZF2
• Instalando o Zend
Skeleton
3. Entre no site:
https://github.com/zen
dframework/ZendSkele
tonApplication
4. Verifique logo abaixo
os procedimentos de
instalação na própria
página do diretório
Opção 2
Instalação do ZF2
• Instalando o Zend Skeleton
5. Após digitar os comandos de clonagem do diretório
essa deve ser a mensagem de retorno “done”.
Instalação do ZF2
• Atualizando dependência do composer no Zend
Skeleton
1. Renomeia a pasta da aplicação para “sinform”
2. Entre dentro da pasta da aplicação via GitBash
-> cd sinform/
3. Digite o comando para atualizar o composer
-> php composer.phar self-update
4. Digite o comando para instalar as atualizações
-> php composer.phar install
* Path do windows
Instalação do ZF2
• Identificando o esqueleto do projeto (Skeleton)
– Acessando o diretório raiz, além dos arquivos do
composer e do autoloader, temos os seguintes
diretórios:
• config: aqui ficam configurações da aplicação como um todo;
• data: local para armazenar os seus arquivos que não fazem
parte do código da aplicação, como diagramas, dumps do
banco de dados;
• module: O diretório onde ficam os módulos de sua aplicação;
• public: o Zend Framework trabalha com FrontController, ou
seja, tudo que você acessar, estará acessando através de um
caminho apenas. As imagens, arquivos CSS e JS entre outros
devem ficar aqui neste diretório;
• vendor: diretório dedicado à bibliotecas de terceiros;
Instalação do ZF2
• Configurando o host no Windows
1. Abra o caminho abaixo no Explorer
c:/windows/system32/drivers/etc
2. Abra o arquivo host com o notepad (Bloco de Notas)
3. Adicione a linha
127.0.0.1 sinform
4. Salve o arquivo e feche
Instalação do ZF2
• Configurando o VirtualHost no Apache (WampS)
1. Ative o rewrite_modulo no apache
2. No arquivo httpd.conf do Apache, descomete a linha:
# Virtual hosts
#Virtual hostsInclude conf/extra/httpd-vhosts.conf
Instalação do ZF2
• Configurando o VirtualHost no Apache (WampS)
3. Abra o arquivo httpd-vhost.conf e insira as seguintes linhas
C:wampbinapacheapache2.4.9conf
4. Reinicie seu servidor web, caso esteja online, e acesso o endereço
http://sinform
<VirtualHost *:80>
ServerName sinform
DocumentRoot C:/wamp/www/sinform/public
SetEnv APPLICATION_ENV "development"
<Directory C:/wamp/www/sinform/public>
DirectoryIndex index.php
AllowOverride All
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
Instalação do ZF2
Essa é a nossa tela do sucesso!
twitter.com/MichaelHCardoso

Zend Framework 2 - Desenvolvimento Ágil Competente

  • 1.
    um tour pelomundo ágil Zend Framework 2 desenvolvimento web ágil competente Por Michael Cardoso | michael@codigointerno.com
  • 2.
    Como Aprenderemos Um passopara cada etapa do caminho Revisão e Conceitos Ferramentas e Instalação Prática
  • 3.
    Revisão e conceitos Oque precisamos saber antes de ir a caçada
  • 4.
    é um frameworkpara: • Aplicações Web de código aberto • Fortemente orientado a objetos (encapsulado) • Implementado para roda a partir do PHP 5.3 • O ZF2 foi lançado em 2012 • Modular • Extensível • Grande performance • Seguro • Possui uma comunidade ativa de desenvolvimento • Suportado para grandes aplicações O Zend Framework 2
  • 5.
    O ZF 2é um framework de alto nível, possibilitando execução de projetos de grande escalabilidade e desempenho. Para isso, a linha de aprendizagem exige um profissional que se aprimore sempre usufruindo do seu PowerUser. O que é preciso saber para programar com o Zend Framework 2? Lógica de Programação PHP Orientado Objeto Namespaces Conhecimento de um SGBD Ferramentas Auxiliares
  • 6.
    Namespaces • O queé? – Possibilita o agrupamento de Classes, interfaces, funções e constantes, – Evita o conflito entre seus nomes, atuando como um encapsulador para estes itens,
  • 7.
    Namespaces • O queé? – Seu funcionamento é equivalente ao de diretórios em sistemas operacionais, onde dois arquivos de mesmo nome não podem existir em um único diretório, mas nada impede a existência de dois arquivos de mesmo nome localizados em diretórios distintos, este mesmo princípio é aplicado no PHP através de namespaces.
  • 8.
    Namespaces • Conexao.php <?php namespace MeuProjeto; functionconnect() { // Faz a sua conexão com o banco de dados } ?> <?php // Inclui o arquivo com a função include("conexao.php"); // Chama a função dentro do namespace MeuProjeto/connect(); ?> • Index.php
  • 9.
    Namespaces • Uso declasse com Namespaces // Example - Namespace scope namespace ProjectModel; class User {} $var = new User; // Resultado: ProjectModelUser // Example - Global scope class User {} $var = new User; // Resultado: User • Uso de classe sem Namespaces (global)
  • 10.
    Namespaces • Aliasing /Importing – Uma característica importante ao trabalhar com namespaces é a possibilidade de importar e atribuir apelidos; – A palavra-chave use é utilizada para importar classes, interfaces ou namespaces através de seus nomes; *não é possível importar funções ou constantes. – Para adicionar apelidos, utilizamos a palavra-chave as, escolhendo um nome mais acessível, ou seja, um apelido, existem duas maneiras de realizar importações: use ProjectModelUser; // É o mesmo que: use ProjectModelUser as User; $var = new User; // Resultado: ProjectModelUser
  • 11.
    Namespaces • Aliasing /Importing – O PHP oferece um atalho para realizar múltiplas importações na mesma linha, onde cada importação é separada através de uma virgula. use ProjectModelUser, ProjectModelPost as Article; $var = new Article; // Resultado: ProjectModelPost
  • 12.
    ArquiteturadoZF2 Entendo oparadigma MVC Model, View, Controller Cada um assume sua tarefa , demando, respondo e exibindo ao usuário o resultado do que foi requisita.
  • 13.
    ArquiteturadoZF2 Entendo oparadigma MVC reusabilidade de código e separação de conceitos • Model (modelo) – consiste nos dados da aplicação, regras de negócios, lógica e funções; • View (visão) – pode ser qualquer saída de representação dos dados, como uma tabela ou um diagrama • Controller (controlador ) – faz a mediação da entrada, convertendo-a em comandos para o modelo ou visão
  • 14.
    ArquiteturadoZF2 Entendo oparadigma MVC reusabilidade de código e separação de conceitos 1. Usuário faz uma requisição clicando em um link, enviando um formulário, etc. 2. Controller recebe essa requisição. 3. Controller solicita informações ao Model. 4. Model retorna para o Controller os dados solicitados. 5. Controller envia informações para View. 6. View solicita dados ao Model. 7. Model retorna para View os dados solicitados. 8. A página é exibida para o usuário.
  • 15.
    Ferramentas e instalação Oque é preciso e como instalar
  • 16.
    WAMP Server • Oque é? – É usado para instalar rapidamente no computador os softwares PHP 5, MySQL e Apache, disponibilizando suporte ao uso de scripts PHP localmente no Windows. • Apache • PHP • SQLBuddy • MySQL • PhpMyadmin • XDebug • webGrind
  • 17.
    Eclipse • O queé? – Eclipse é um IDE para desenvolvimento Java, porém suporta várias outras linguagens a partir de plugins como C/C++,PHP,ColdFusion, Python, Scala e plataforma Android. – Para desenvolver em Zend PHP, temos que baixar a perspectiva PHP.
  • 18.
    GIT • O queé? – É um sistema de controle de versão distribuído e um sistema de gerenciamento de código fonte, com ênfase em velocidade. – Foi inicialmente projetado e desenvolvido por Linus Torvalds para o desenvolvimento do kernel Linux, mas foi adotado por muitos outros projetos. – Cada diretório de trabalho do Git é um repositório com um histórico completo e habilidade total de acompanhamento das revisões, não dependente de acesso a uma rede ou a um servidor central.
  • 19.
    Composer • O queé? – O Composer é um gerenciador de dependências para o PHP. Com ele você define a lista de bibliotecas (e versões) das quais o seu projeto depende, e ele cuida da instalação, organização e “inclusão”.
  • 20.
    “Instalação” do ZF2 •Vamos instalar o Zend Skeleton
  • 21.
  • 22.
    “Instalação” do ZF2 •Instalando o Zend Skeleton 1. Abra o GitBash 2. Entra na pasta do projeto c:/wamp/www
  • 23.
    “Instalação” do ZF2 •Instalando o Zend Skeleton 1. Abra o Executar > cmd 2. Entra na pasta do projeto (cd) c:/wamp/www
  • 24.
    Instalação do ZF2 •Instalando o Zend Skeleton 3. Entre no site: https://github.com/zen dframework/ZendSkele tonApplication 4. Verifique logo abaixo os procedimentos de instalação na própria página do diretório Opção 2
  • 25.
    Instalação do ZF2 •Instalando o Zend Skeleton 5. Após digitar os comandos de clonagem do diretório essa deve ser a mensagem de retorno “done”.
  • 26.
    Instalação do ZF2 •Atualizando dependência do composer no Zend Skeleton 1. Renomeia a pasta da aplicação para “sinform” 2. Entre dentro da pasta da aplicação via GitBash -> cd sinform/ 3. Digite o comando para atualizar o composer -> php composer.phar self-update 4. Digite o comando para instalar as atualizações -> php composer.phar install * Path do windows
  • 27.
    Instalação do ZF2 •Identificando o esqueleto do projeto (Skeleton) – Acessando o diretório raiz, além dos arquivos do composer e do autoloader, temos os seguintes diretórios: • config: aqui ficam configurações da aplicação como um todo; • data: local para armazenar os seus arquivos que não fazem parte do código da aplicação, como diagramas, dumps do banco de dados; • module: O diretório onde ficam os módulos de sua aplicação; • public: o Zend Framework trabalha com FrontController, ou seja, tudo que você acessar, estará acessando através de um caminho apenas. As imagens, arquivos CSS e JS entre outros devem ficar aqui neste diretório; • vendor: diretório dedicado à bibliotecas de terceiros;
  • 28.
    Instalação do ZF2 •Configurando o host no Windows 1. Abra o caminho abaixo no Explorer c:/windows/system32/drivers/etc 2. Abra o arquivo host com o notepad (Bloco de Notas) 3. Adicione a linha 127.0.0.1 sinform 4. Salve o arquivo e feche
  • 29.
    Instalação do ZF2 •Configurando o VirtualHost no Apache (WampS) 1. Ative o rewrite_modulo no apache 2. No arquivo httpd.conf do Apache, descomete a linha: # Virtual hosts #Virtual hostsInclude conf/extra/httpd-vhosts.conf
  • 30.
    Instalação do ZF2 •Configurando o VirtualHost no Apache (WampS) 3. Abra o arquivo httpd-vhost.conf e insira as seguintes linhas C:wampbinapacheapache2.4.9conf 4. Reinicie seu servidor web, caso esteja online, e acesso o endereço http://sinform <VirtualHost *:80> ServerName sinform DocumentRoot C:/wamp/www/sinform/public SetEnv APPLICATION_ENV "development" <Directory C:/wamp/www/sinform/public> DirectoryIndex index.php AllowOverride All Order allow,deny Allow from all </Directory> </VirtualHost>
  • 31.
    Instalação do ZF2 Essaé a nossa tela do sucesso! twitter.com/MichaelHCardoso