Preparando o ambiente para desenvolvimento com zend framework

Para começar a desenvolver com zend framework, antes de escolher uma IDE(ferramenta de desenvolvimento), precisamos instalar as tecnologias necessárias para executar as aplicações que serão desenvolvidas e para isso vamos precisar de um servidor local com suporte a linguagem PHP e um banco de dados, o servidor adotado será o Apache e o banco de dados MySQL.

Iremos facilitar a instalação dessas tecnologias utilizando o WAMP, que reune as três tecnologias em apenas uma instalação, lembrando que o wamp é para windows, mas se você utiliza outro sistema operacional também existe o LAMP e MAMP.

Instalando o wamp server

Primeiro, efetue o download do wamp, em seguida execute o instalador, mantenha o diretório “c:\wamp” como local de instalação, caso você tenha firefox o wamp irá perguntar se deseja que ele seja o navegador padrão, se não tiver, irá abrir uma janela pedindo para você selecionar seu navegador padrão, ao termino da instalação o wamp pedirá os parâmetros para utilizar o PHP mail, por enquanto deixe os valores padrões e siga em frente, execute o wamp.

Após instalar e abrir, o ícone do wamp irá aparecer ao lado do relógio do windows(área de notificação) veja o ícone na imagem abaixo, nas versões mais recentes este ícone foi modificado, mas o que vale é a explicação.

Ícone do wamp offline
wamp

Para testar a instalação do wamp, abra seu navegador e digite o endereço: http://localhost, se aparecer o conteúdo abaixo, a instalação foi bem sucedida.

Página inicial do wamp server
Página inicial do wamp server

Nesse momento o wamp está disponível apenas na maquina local, para deixar o wamp acessível aos outros computadores da rede é preciso clicar no ícone do wamp, selecionar a opção Putt Online, como na imagem abaixo.

Colocando o wamp online
Colocando o wamp online

O wamp irá reiniciar(ficando amarelado) e após isso o ícone ficará igual a figura abaixo:

online

Pronto o wamp está configurado para ser acessado de outros computadores da rede.

Otimizando o wamp server

Para desenvolver sem futuros problemas precisamos habilitar alguns recursos, em cada modificação realizada nessa etapa o wamp irá reiniciar para efetuar as mudanças.

Habilitando rewrite_module

Este recurso permite que as urls sejam reescritas/personalizadas, resultando em urls amigáveis, este recurso é obrigatório para o desenvolvimento com zend framework.

Clique no ícone do wamp >> Apache >> Apache modules >> marque a opção “rewrite_module”.

Habilitando short tags do PHP

Este recurso é opcional, costuma ser utilizado na criação de scripts de visão, servindo para iniciar blocos de códigos PHP de maneira simples, apenas com <? e finalizando com ?>.

Clique no ícone do wamp >> PHP >> PHP settings >> verifique se a opção “short open tags” está marcada.

Habilitando a extensão PDO

A extensão PDO(PHP Data Objects) é utilizada por padrão no zend framework para abstrair conexões/interações com bancos de dados.

Clique no ícone do wamp >> PHP >> PHP extensions >> verifique se as opções “php_pdo” e “php_pdo_mysql” estão marcadas, se não estiverem, marque essas opções, normalmente essas opções já estão habilitadas como padrão do wamp.

Escolhendo uma IDE – Zend Studio / Eclipse PDT / Netbeans

Essa etapa da escolha de uma IDE é muito pessoal, dentre as ferramentas mais utilizadas para o desenvolvimento com zend framework podemos citar o Zend Studio(download da versão trial), Eclipse PDT e Netbeans.

Neste artigo iremos adotar o Zend Studio, mas nenhuma dessas IDE´s deixa a desejar.

Instalando o Zend Studio

Após realizar o download da versão trial, execute o instalador, a única configuração diferente que costumo fazer é desativar a instalação das toolbars do internet explorer e firefox, fora isso apenas siga em frente.

Criando uma estrutura básica

Com o ambiente configurado e uma IDE escolhida, vamos criar uma estrutura básica para nossa aplicação, mas antes disso, vamos alterar o workspace(local onde os projetos são armazenados) da IDE para a pasta do servidor, se você instalou o wamp com as configurações padrões o mesmo deve estar em “C:\wamp”, a pasta do servidor onde os arquivos devem ficar é “C:\wamp\www”, logo, este será nosso workspace, para alterar o workspace do zend studio siga os passos abaixo:

File >> Switch Workspace >> other, selecione C:\wamp\www e clique no botão “OK”, será necessário reiniciar a IDE.

O zend studio trabalha com perspectivas, ambientes customizados de desenvolvimento, localizadas no canto superior direito da tela, durante o desenvolvimento utilizando zend framework recomendo selecionar a perspectiva “Zend Framework perspective”, para alterar sua perspectiva siga os passos a seguir:

Clique no ícone “Open perspective” >> selecione “Zend Framework Perspective”.

Alterando perspectiva
Alterando perspectiva

Com a perspectiva Zend Framework, criar uma estrutura básica se torna simples, siga os passos a seguir.

File >> New >> Zend Framework Project, irá aparecer a seguinte tela:

Criando projeto no zend studio
Criando projeto no zend studio

Após preencher o nome da aplicação, nesse caso “example-application” e clicar no botão “finish” o zend studio irá criar a estrutura de diretórios abaixo.

Estrutura inicial do projeto
Estrutura inicial do projeto

Confira uma breve descrição de cada diretório dessa estrutura:

Diretório Descrição
application Núcleo da aplicação, onde ficam os principais arquivos e diretórios.
controllers Local onde são armazenados os controles da aplicação.
models Armazena os modelos da aplicação.
views Armazena os scripts de visão da aplicação.
configs Diretório destinado aos arquivos de configuração.
library Diretório destinado a bibliotecas externas e arquivos do framework.
public Armazena os arquivos públicos da aplicação, imagens, etc.

Estes são os diretórios padrões, mas nada impede você de criar novos diretórios para determinadas finalidades.

Adicionando os arquivos do framework no projeto

Baixe o zend framework, no site existem duas versões do framework, full e minimal, sendo que a versão full conta com arquivos complementares, exemplos e arquivos de tradução, já a versão minimal conta apenas com os arquivos básicos do framework, neste momento recomendo a versão minimal.

Após realizar o download, precisamos copiar a pasta Zend que se encontra no arquivo baixado e colar na pasta Library do projeto, confira o resultado da estrutura ao realizar essa etapa.

Estrutura do projeto com o framework
Estrutura do projeto com o framework

Sem os arquivos do framework nossa aplicação não irá funcionar, estes arquivos são o motor da aplicação, sendo assim essa etapa é indispensável.

Testando nossa aplicação básica

Se tudo foi configurado corretamente, ao acessar nossa aplicação, http://localhost/example-application/public, será exibida uma página de boas vindas do zend framework.

Página inicial do zend framework
Página inicial

Esse exemplo é apenas para fins didáticos, em uma estrutura MVC apenas o conteúdo da pasta public(index.php, imagens, css, js) deve ficar acessível ao usuário, os controllers, modelos, etc, devem ficar fora do diretório público do servidor.

  • Personalizando urls locais no wamp server

    02/03/2011 às 03:03

    […] Sobre « Preparando o ambiente para desenvolvimento com Zend Framework […]

  • Batalha

    04/03/2011 às 19:50

    Fala aae Diogo.
    Fiz as configurações como vc explicou e se acesso pelo wamp http://localhost/Zend o que me aparece é o texto PÁGINA DE APRESENTAÇÃO e se coloco para abrir pelo http://localhost/example-application/public/index.php esta dizendo que encontrou um erro e que não foi possível abrir.
    Onde pode estar o erro?

  • Diogo Matheus

    05/03/2011 às 01:04


    Batalha:

    Fala aae Diogo.

    Batalha, vamos por partes, quanto você digita http://localhost/, aparece a tela inicial do wamp correto? A raiz do wamp está na pasta C:\\wamp\www\? você configurou o workspace da IDE para esse local? criou o projeto com nome de “example-application”? Pelo que você escreveu você esqueceu de colocar a pasta Zend(framework em si baixado no site da zend), dentro da pasta Library do nosso projeto, melhorei um pouco essa parte do tópico, da uma lida novamentem na parte “Adicionando os arquivos do framework no projeto”.

    Qualquer coisa deixa outro comentário.

    Abraço

  • Zend Controller e Zend View – Entendendo controllers e views no zend framework

    05/03/2011 às 12:04

    […] e uma action(método) chamada indexAction, seguindo a estrutura configurada no tópico: Preparando o ambiente para desenvolvimento com Zend Framework e a personalização de url apresentada no tópico, Personalizando urls locais no wamp server, Ao […]

  • Batalha

    10/03/2011 às 12:39

    Fala ae Diogo.
    Ae tava viajando por isso não respondi vc.
    Mas fiz exatamente como vc falou, configurei o Zend para a pasta do Wamp, baixei o Zend minimal, copiei a pasta zend dento da library dele e copiei para a pasta library do nosso projeto. Porém dá este erro que te falei:
    URL solicitada example-application/public não foi encontrada neste servidor.
    Apache/2.2.3 PHP/5.2.0-8 (Debian) + etch10 servidor localhost na porta 80
    Quando digito http://localhost o que aparece é a tela que contem os projetos.

  • Diogo Matheus

    18/03/2011 às 18:40


    Batalha:

    Atualizei o tópico, adicionei na parte Otimizando wamp server para habilitar o rewrite_module do apache.

    Att

  • Batalha

    18/03/2011 às 19:35

    Vlw Diogo, agora ficou perfeito.

  • Fernando

    01/04/2011 às 13:24

    Eai Diogo, muito bom seu post, foi o único que me ajudou nessa tarefa, muito obrigado.

    Parabéns mesmo pelo material

  • Entendendo modelos no zend framework

    15/05/2011 às 01:36

    […] classe Zend_Db_Table, vamos criar um projeto usando modelos, baseado na estrutura criada no tópico Preparando o ambiente para desenvolvimento com Zend Framework, utilizando a url http://zf.example, apresentada no tópico Personalizando urls locais no wamp […]

  • Diogo

    29/06/2011 às 17:58

    Muito legal o seu post, agora sim vou começar a trabalhar com o Zend.

  • Diogo Matheus

    04/11/2011 às 12:30

    Valeu galera, que bom que gostaram.

  • Trabalhando com paginação usando Zend_Paginator | Diogo Matheus Blog

    03/12/2011 às 20:32

    […] deste artigo, que visa introduzir este tema. Baseado na estrutura apresentada no tópico Preparando o ambiente para desenvolvimento com Zend Framework, crie um projeto com nome de example-zend-paginator. Estrutura […]

  • Uso avançado de modelos no zend framework | Diogo Matheus Blog

    03/12/2011 às 20:40

    […] de modelos, vamos criar um projeto para trabalhar, baseado na estrutura apresentada no tópico Preparando o ambiente para desenvolvimento com Zend Framework, crie um projeto com nome de example-advanced-models. Estrutura do nosso […]

  • daniel

    22/12/2011 às 14:27

    Finalmente achei um bom blog sobre Zend em portugues .
    vlw

  • Otroller

    07/02/2012 às 18:05

    Tive um pequeno problema seguindo seu tutorial amigo!
    Ali você não mostra onde incluir o Path no php.
    Então fica a dica pessoal não esqueça de adicionar no php.ini o path de onde esta o framework.
    #FikaDica

  • Diogo Matheus

    07/02/2012 às 18:10

    Fala rapaz, compartilha a linha que te salvou com a galera e se for o caso eu adiciono no artigo.

    Abraço

  • Luan

    23/02/2012 às 11:47

    Olá!
    Até a página inicial do framework está funcionando belezinha, mas não sei como abrir outras páginas que criei, por exemplo, criei um form usando o Zend_Form, instanciei ele no controller e o escrevi na visão e não o consigo testar. Como faço para executá-lo?
    obrigado

  • Diogo Matheus

    23/02/2012 às 13:10

    Opa Luan,

    Qual é a mensagem que da quando você tenta acessar outras páginas? configurou a parte de otimização no wamp?

    Da uma olhada nesse artigo também:
    http://www.diogomatheus.com.br/blog/zend-framework/zend-controller-e-zend-view-entendendo-controllers-e-views-no-zend-framework/

    Mas de qualquer maneira assim que eu tiver um tempo vou refatorar esses artigos para quem está iniciando.

    Abraço

  • Julio

    27/03/2012 às 12:28

    Parabéns, me ajudou muito

  • Zend Controller e Zend View – Entendendo controllers e views no zend framework | Diogo Matheus Blog

    27/05/2012 às 02:09

    […] suas funcionalidades, vamos criar um exemplo simples. Baseado na estrutura apresentada no tópico Preparando o ambiente para desenvolvimento com Zend Framework, crie um projeto com nome de example-zend-view-controller. Estrutura inicial do […]

  • Ariel

    11/07/2012 às 09:49

    Muito bom! Estava seguindo um vídeo de um americano, mas não estava dando certo, segurei teu tutorial, mas só de ver o cuidado na criação dele já me dá a segurança de que vai funcionar. Obrigado!

  • Marcos Antônio

    31/07/2012 às 13:03

    Tudo muito bom quando o servidor é local e eu posso alterar essas variáveis…
    Mas quando tiver que levar estes arquivos para um servidor remoto?
    Onde eu NÃO TENHO COMO ALTERAR ESTAS VARIÁVEIS?

  • Diogo Matheus

    28/08/2012 às 21:35

    Olá Marcos,

    Se você estiver falando de uma hospedagem de sites, realmente fica complicado, mas a maioria já está preparada para receber aplicações desse porte, particularmente prefiro hospedagens linux.

    Boa sorte na configuração.

  • Maycon

    26/09/2012 às 14:59

    Como funciona a transação no Zend? Tenho um código onde há duas inserções em tabelas distintas. Em algum momento apenas uma das tabelas recebe a inserção. Ambas inserções estão dentro de uma transação, porém se ocorre um erro não é feito o rollback. Não entendo muito de Zend. Alguém pode me ajudar. Agradeço pela atenção!

  • Diogo Matheus

    11/11/2012 às 10:50

    Olá Maycon, uma boa maneira de se trabalhar com transações e que costumo usar é ter uma classe Mapper/Manager para gerenciar suas interações com a DbTable e para todos os casos de inserir e editar utilizar os seguintes comandos:

    Zend_Db_Table::getDefaultAdapter()->beginTransaction();
    Zend_Db_Table::getDefaultAdapter()->commit();
    Zend_Db_Table::getDefaultAdapter()->rollBack();

    Abraço e boa sorte

  • Carlos Alberto da Silva

    29/06/2013 às 23:38

    O Zend Studio 10.0 não me aparece a perspectiva do Zend Framework.
    Poderia me dizer o que está faltando.
    Segui seu tutorial direitinho, mas na hora de colocar a perspectiva Zend, ela não aparece.

    Abraços.

  • Diogo Matheus

    14/07/2013 às 01:07

    Carlos,

    Infelizmente não utilizei o Zend Studio 10.0 ainda, não sei te guiar nesse caso.

    Abraço e boa sorte.

Deixe uma resposta

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