Instalando e configurando o Zend Framewok 2

zf2-logo-small

O zend 2 trouxe diversas melhorias, dentre elas estão: adoção do composer como gerenciador de dependências, git como controle de versão oficial do projeto, injeção de dependências, dentre outras novidades. A mudança mais notada foi com a adoção do composer para gerenciamento de dependências do projeto, não é mais necessário baixar os fontes e inclui-los  manualmente na sua aplicação, “a não ser que você goste de dificultar as coisas”.

Agora vamos colocar a mão na massa. 😀

Habilitando o modulo rewrite do apache

Quem utiliza distribuições como CentOS ou Fedora o módulo rewrite já vem habilitado por padrão, entretanto distros derivadas do debian este módulo nem sempre vem habilitado, para habilita-lo basta digitar o seguinte comando no terminal:

Para que o módulo entre em funcionamento é necessário reiniciar o apache.

Esse tal de git

O git é um sistema de controle de versão distribuído desenvolvido por ninguém menos que Linux Tovalds, bastante difundido na área de desenvolvimento de software, presente em muitos projetos de grande porte, dentre eles o próprio php e o Kernel Linux. O git não é um componente obrigatório para instalação do Zend Framework, porém extremamente recomendado para baixar o esqueleto da aplicação e quem sabe você habituei a utiliza-lo nos seus projetos “Tenho certeza que não se arrependerá”. Entretanto caso você opte por não utilizar, basta baixar o projeto diretamente no github. No nosso caso, como lidamos com o git no dia a dia, faremos da maneira mais indicada que é utilizando o sistema de controle de versão, para isso precisamos realizar a instalação do mesmo, caso ainda não possua basta digitar o seguinte comando no terminal.

Baixando a aplicação esqueleto do zend

O projeto esqueleto do zend é uma aplicação com as configurações básicas do framework, incluindo todas estruturas de pastas e pré configurações para termos um ponto de partida.

No exemplo acima acessamos a pasta root do apache e baixamos o projeto esqueleto nomeando a pasta como zend, caso o último parâmetro referente ao nome do projeto seja omitido o git assumira o nome do projeto a ser clonado,  que no nosso caso é ZendSkeletonApplication. Apesar de ter baixado o projeto esqueleto o core do zend não vem embutido no mesmo, esse como o próprio nome diz é apenas um esqueleto para que não se perca tempo realizando as configurações iniciais.

Gerenciador de dependências no php? nunca ouvi falar

Quem possui familiaridade em outras linguagens como Java, Python, Rubi provavelmente já deve conhecer algum gerenciador de dependências, entretanto no âmbito do php isso é uma novidade, porém é outra ferramenta extremamente produtiva e recomendada, ao baixar o zend Skeleton Application o gerenciador de dependências composer já vem incluído dentro da aplicação com um arquivo composer.phar que é o gerenciador de dependência em peso e outro composer.json que é onde são definidas quais as dependências deve ser satisfeitas.

Antes de baixar as dependências do nosso projeto, vamos atualizar o composer pois como esse já vem incluída dentro do esqueleto nem sempre representa a última versão, para isso acesse a pasta que foi definida ao clonar o projeto e vamos atualizar o composer digitando o seguinte comando:

Após a atualização vamos baixar as dependências necessárias para o perfeito funcionamento do zend framework.

O resultado deve ser parecido com a imagem logo abaixo.

composer_instalando_dependencias

Nesse momento já temos nosso projeto devidamente funcionado, para finalizar com chave de ouro, iremos apenas configurar o virtual hosts no apache, afim de simular no nosso ambiente de desenvolvimento as mesmas configurações do ambiente de produção.

Configurando o virtual hosts

O processo de configuração do virtual host é muito simples, basta criar o arquivo com o nome a ser escolhido por você no diretório /etc/apache2/sites-available/nome_do_host, no nosso caso utilizaremos o nome zend, após criar o arquivo basta edita-lo e adicionar o seguinte código.

No nosso caso assumimos que a pasta onde contém o projeto esqueleto está no diretório /var/www/zend e o domínio no qual utilizaremos para acessar o projeto será zend.localhost, ambos são de livre escolha do leitor.

Nesse exato momento precisamos apenas realizar mais 3 passos para que nossa aplicação esteja devidamente configurada, o primeiro é criar um link simbólico na pasta /etc/apache2/sites-enabled/zend apontado para o arquivo /etc/apache2/sites-available/zend, esse passo poderia ser contornado caso tenhamos criado o arquivo diretamente dentro da pasta /etc/apache2/sites-enabled/, porém optei por seguir esses passos afim de familiarizar o leitor com as configurações de virtual hosts utilizada nos servidores de produção.

Obs: Caso esteja utilizando o centos provavelmente você não encontrará a pasta sites-available e muito menos a pasta sites-enable, nesse caso você pode inserir a configuração do virtual host diretamente no arquivo de configuração do apache, preferencialmente no final do arquivo /etc/httpd/conf/httpd.conf.

Ainda nos resta mais 2 passos que são adicionar o subdomínio do zend.localhost no arquivo hosts, para isso basta adicionar a seguinte linha no final do arquivo /etc/hosts.

Por fim precisamos apenas reiniciar o apache.

Nesse momento a instalação do Zend 2 já foi concluída,  basta acessar o endereço zend.localhost no seu navegador, o resultado deve ser parecido com a imagem logo abaixo.

zend2_funcionando