[ Tutorial ] Zend Framework Parte 01

Instalação, configuração, criação de projeto

Sumário

Neste tutorial, você vai aprender como baixar e instalar o Zend Framework, assim como ativar o mod_rewrite do Apache e criar um Virtual Host. Vai modificar o arquivo .htaccess para alterar o comportamento do Zend Framework.
Você também vai aprender a criar um projeto utilizando o ZF Tool.

NOTA AOS DESENVOLVEDORES : Este tutorial utiliza o Zend Framework versão 1.11.11 1.12.3 e pode não funcionar em versões anteriores do Zend.

Instalação e Configuração

Para começar a usar o Framework, precisamos cumprir alguns requisitos:

1 – Baixar o framework

2 – Instalar e ativar o mod_rewrite

3 – Criar um servidor virtual

4 – Criar uma estrutura para a aplicação ou site

5 – e muito mais…

Nota: Para usar o framework é preciso que você tenha o PHP 5 rodando em seu servidor, mas cuidado com versões muito recentes do PHP, no momento da escrita deste tutorial tive problemas com o PHP 5.3.3, mas ele rodou legal no PHP 5.3.8.

Vamos então dividir nosso tutorial em várias partes para poder manter um fluxo no aprendizado saudável e você não arrancar os cabelos antes do tempo ( brincadeirinha ).

Baixando o framework

Para baixar o Zend Framework você deve ir no site oficial do framework http://framework.zend.com. Procure a versão que vamos utilizar neste tutorial, a Zend Framework 1.11.11 1.12.3 Minimal. Caso tenha saído outra versão antes que eu termine as atualizações deste tutorial para a versao que usei clique aqui para baixá-la diretamente.

Configurando o Servidor Apache para mod_rewrite

Antes de instalar o framework precisamos configurar o mod_rewrite no servidor.

Caso você esteja utilizando outro servidor que não seja o apache, você precisará verificar na documentação a forma mais correta de ativar o mod_rewrite deste.

Para o Apache, o procedimento é bem simples.

Como estou usando o Windows vou mostrar como proceder para obter o resultado desejado.

1 – Abra o arquivo httpd. conf do Apache, normalmente ele se encontra dentro da pasta conf

2 – Procure pela linha #LoadModule rewrite_module modules/mod_rewrite.so e retire o sustenido (#) inicial

3 – Procure pela Tag <Directory>

4 – Dentro desta troque Options FollowSymLinks por Options FollowSymLinks Includes

5 – Troque AllowOverride None por AllowOverride All

6 – Agora procure pela Tag <Directory “C:/Apache/htdocs”> que dependendo de sua instalação pode estar diferente, mas que é onde se encontra as configurações da pasta raiz do apache

7 – Tendo encontrado esta Tag, troque Options Indexes por Options Indexes FollowSymLinks

8 – Troque AllowOverride None por AllowOverride All

9 – No final do arquivo adicione a linha
AccessFileName .htaccess e estamos com o Apache configurado para mod_rewrite.

Criando um Virtual Host para simular servidor remoto

Para criar um Virtual Host no apache é bem fácil. Hipotéticamente vamos criar o host virtual “zend.localhost

1 – Abra o arquivo CAMINHO/PARA/SEU/Apache/conf/httpd. conf
2 – Procure pelas linhas:

 lang="sql
# Virtual hosts
# Include conf/extra/httpd-vhosts.conf

O sustenido (#) indica código comentado para o Apache, por isto não será executado.
Caso o seu esteja assim, remova o (#) da linha do include:

 lang="sql
# Virtual hosts
Include conf/extra/httpd-vhosts.conf

Feche o arquivo.
3 – Abra o arquivo CAMINHO/PARA/SEU/Apache/conf/extra/httpd-vhosts.conf e cole o código abaixo no final do arquivo:

 lang="sql

DocumentRoot "CAMINHO/PARA/SEU/Apache/htdocs/www/tutorial-zend"
ServerName zend.localhost
ErrorLog "logs/tutorial-zend-error.log"
CustomLog "logs/tutorial-zend-access.log" common

Salve e feche o arquivo.
4 – Reinicie O Apache
5 – Execute o notepad como administrador (Vista/7 somente, xp não precisa ) e abra o arquivo: C:\windows\system32\drivers\etc\hosts
Dica: Para iniciar um programa como administrador, procure por ele no Menu Iniciar ou na pasta dele, clique com o botão direito e você terá a Opção “Executar como administrador”.

6 – No início do arquivo insira a linha:

 lang="sql
127.0.0.1    localhost
127.0.0.1    zend.localhost

Salve e feche o arquivo

7 – Crie uma pasta chamada tutorial-zend dentro de CAMINHO/PARA/SEU/Apache/htdocs/www/

8 – No navegador digite: http://zend.localhost e pronto!

Criando a Estrutura de Arquivos

Uma aplicação com Zend Framework vai precisar utilizar um padrão, embora você possa configurar o mesmo de várias formas, bastando alterar os caminhos dos arquivos. Mas, para fins de obter um processo sem complicações, vamos utilizar o padrão.

Vamos criar o projeto dentro da pasta raiz de nosso servidor virtual, simulando um servidor remoto, pois você vai precisar saber fazer isto quando for instalar sua aplicação ou site num servidro remoto. Vamos usar o famoso padrão de redirecionamento com URLs limpas (Clean URLs) que elimina os tradicionais Query Strings ( Ex. http://zend.localhost/index.php?module=default&controller=produto&action=ver&id=1 vai ficar http://zend.localhost/produto/id/1)

ZF Tool

IMPORTANTE: Confira meu tutorial exclusivo sobre como utilizar o ZF Tool. Clique aqui para acessar. E se você utiliza o Linux, clique aqui.

Eliminamos o sofrimento utilizando uma ferramenta criada pela equipe do Zend, com a finalidade de agilizar e facilitar o desenvolvimento, chamada ZF Tool. Esta ferramenta cria o projeto e tudo o mais que precisarmos relacionado a estrutura, conforme veremos mais adiante.

Vamos então instalar o bichinho, já que ele ajuda e é mansinho, porque fugir dele (risos)!

1 – Extraia o arquivo que você baixou do site da zend e acesse até chegar na pasta onde estão as pastas bin e library.
2 – Copia-as e cole em c:\CAMINHO\PARA\Apache\apps\zend
3 – Abra a pasta bin e copie os arquivos: zf.bat e zf.php para dentro do diretório de instalação do seu.
4 – No mesmo diretório, procure pelo arquivo php.ini e abra-o no bloco de notas ( Se você usa Wamp veja este tutorial ).
5 – Procure pela linha:

 lang="sql
;include_path = ".;c:\php\includes"

e mude para:

 lang="sql
include_path = ".;c:/CAMINHO/PARA/Apache/apps/zend/library"

6 – Abra o prompt de comando do DOS ( digite cmd em Executar ou Iniciar) e digite:

 lang="sql
zf show version

IMPORTANTE (Se voce usa Linux ignore): Seu ZF não será reconhecido como comando interno ou externo, pois seu PHP.exe não foi configurado como variável do ambiente do windows. Para resolver isto siga os procedimentos abaixo:

1 – Clique com o botão direito em Meu Computador
2 – Propriedades
3 – Configurações Avançadas ou Aba Avançado
4 – Variáveis de Ambiente
5 – Procure e clique em “Path” e depois no botão “Editar
6 – Adicione ao final do que estiver lá o caminho do php: ; c:\CAMINHO\PARA\SEU\PHP
7 – ok, ok, ok
8 – Reinicie o computador (Obrigatório).

Se tudo correu certinho, você verá algo assim:

 lang="sql
Zend Framework Version 1.12.3

Estrutura de Arquivos com ZF Tool

Para criar a estrutura de arquivos com o ZF Tool abra o Prompt de Comando novamente ( digite cmd em Executar ou Iniciar) e acesse a nossa pasta:

CAMINHO/PARA/SEU/Apache/htdocs/www/

Se você não sabe utilizar o Prompt de Comando acesse o tutorial “Comandos Básicos do MS-DOS” – infowester – veja os comandos: CLS, DIR, CHDIR, MKDIR e EXIT! Não precisa mais do que isto para este tutorial)

No Prompt de Comando digite:

 lang="sql
C:/CAMINHO/PARA/SEU/Apache/htdocs/www/

Para criar a estrutura de arquivos você deve executar o comando:

 lang="sql
zf create project tutorial-zend

Ao executar o comando acima o ZF Tool criará a estrutura inicial do projeto, conforme a imagem abaixo:

Estrutura criada pelo ZF Tool

Agora, voce precisa copiar a pasta Zend(23MB), que se encontra dentro de C:/CAMINHO/PARA/SEU/Apache/apps/zend/library para a pasta tutorial-zend/library e sua estrutura ficará parecida com esta:

Estrutura criada pelo ZF Tool

Agora já podemos começar a explorar nosso projeto e aprender a sobre módulos, controladores e ações

Arquivo .htaccess

O ZF Tool criou o arquivo /tutorial-zend/public/.htaccess para nós, entretanto, ele ainda não está pronto para ser utilizado, pois não sei porque ele não está configurado corretamente e muito menos no local mais ideal!

O conteúdo deste arquivo fará com que todas as solicitações sejam redirecionadas para a pasta public de nossa aplicação, o que torna o acesso direto aos arquivos impossível.

Mude a localição do arquivo de /tutorial-zend/public/.htaccess para /tutorial-zend/.htaccess e modifique seu conteúdo conforme abaixo:

 lang="sql
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteRule !\.(js|gif|jpg|png|css|txt)$ public/index.php [L]
RewriteCond %{REQUEST_URI} !^/public/
RewriteRule ^(.*)$ public/$1 [NC,L]

Este arquivo tem um diferencial do padrão comum que você encontra em outros tutoriais tratando do Framework.

Nele nós alteramos o DocumentRoot do Apache, diferente de alterar nos arquivo de configuração do Apache. Isto é preciso pois em alguns casos o desenvolvedor não tem acesso ao arquivo httpd ou mesmo uma opção de alterar a pasta raiz do servidor. Então, redirecionar com o arquivo .htaccess, mostrou-me ser mais versátil.

Welcome to the Zend Framework!

Para finalizar esta primeira parte de nosso tutorial, acesse http://zend.localhost e você deverá ver a tela conforme a imagem abaixo. Caso apareça algum erro refaça os passos novamente e verifique possiveis erros de digitação, etc.

Estrutura criada pelo ZF Tool

Conclusão

Nesta parte do tutorial você aprendeu como instalar e configurar a Biblioteca Zend em seu servidor usando o Apache, aprendeu a criar um projeto utilizando o ZF Tool e você também aprendeu a redirecionar as solicitações para a pasta public do projeto que vamos desenvolver.
No próximo tutorial vamos colocar a mão na massa e começar nossa viagem ao planeta Zend Framework.
Abraço do Giba!

11 comentários sobre “[ Tutorial ] Zend Framework Parte 01”

  1. Cara, executo tudo certinho, porém quando eu digito zend.localhost em vez de abrir essa página com seja bem vindo do framework zend, ele aparece uma página com Index of / e em baixo em branco, tipo onde vai ficar os arquivos entende, é normal mesmo assim ?

    desde ja agradeço.

    1. Se está aparecendo somente o index of/
      é porque o Zend não está rodando no virtual host.
      Verifique se você copiou a pasta library corretamente
      e se você modificou o arquivo .htaccess corretamente.

      Uma coisa que sempre acontece, que talvez não seja o seu caso, é o usuário criar o projeto com outro, outra estrutura de arquivo e acabar fazendo confusão na hora de substituir os nomes a partir do tutorial.

  2. Amigo, fiz tudo como tu disse, ate funfou o lance de criar o diretorio pelo comando do Zend no dos, mas quando eu copio o .htaccess para a pasta root do projeto e acesso na url, não abre a pagina que vc mostra ae no tuo; O que pode ser de errado?

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *