um tour pelo mundo ágil
Zend Framework 2 desenvolvimento web ágil competente
Por Michael Cardoso | [email protected]
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 Project\Model; class User {} $var = new User; // Resultado: Project\Model\User
// 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 Project\Model\User; // É o mesmo que: use Project\Model\User as User; $var = new User; // Resultado: Project\Model\User
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 Project\Model\User, Project\Model\Post as Article; $var = new Article; // Resultado: Project\Model\Post
Arq
uit
etu
ra d
o Z
F 2
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.
Arq
uit
etu
ra d
o Z
F 2
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
Arq
uit
etu
ra d
o Z
F 2
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/zendframework/ZendSkeletonApplication
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:\wamp\bin\apache\apache2.4.9\conf
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
Top Related