Zend Framework 2 é legal! Mas como ele funciona ?!

Standard

Muito se fala sobre Frameworks, da importância de usar, quando usar, sendo ele microframeworks ou fullstack, e logo de cara é citado o Zend Framework como uma referência.

ZendFramework

Surgindo suas várias vantagens:

  • Modelo MVC
  • Baseado em eventos
  • PHP 5
  • As melhores práticas com PHP
  • Modular e Extensível
  • Comunidade forte
  • Segurança

Isso todo mundo já sabe,
Mas como o ZF2 funciona? Como ele é dividido?

Quando comecei a utilizar o ZF2, naturalmente não parei para entender como o ZF2 funciona, o que ele faz primeiro, como ele é dividido, como usar, quando usar.
E isso dificultou muito quando me deparei com problemas básicos da ferramenta. Por isso para iniciar é importante saber como ele é dividido.

Divisão dos diretórios(pastas)

Estrutura ZF2

/config

Configurações gerais da aplicação, como configurações com o Banco de Dados. Atenção para o application.config.php arquivo de grande importância.
Nele são definidos os Módulos que serão utilizados ou carregados, além de também fazer a chamada dos arquivos locais e globais no diretório autoload, responsáveis pela ligação com banco.

/data

Arquivos de cache, podendo armazenar arquivos como diagramas da aplicação. De preferência, não adicionar arquivos com códigos.

/module

Todos os módulos da aplicação.
Um módulo, para um problema específico da aplicação.
Todos os módulos com sua própria configuração e estrutura MVC. Se o objetivo era ser Modular, conseguiram 🙂

/public

Arquivos CSS, JS e imagens.
Atenção para o index.php onde é rodada a aplicação, único arquivo que o usuário terá acesso.

/vendor

Bibliotecas utilizadas na aplicação.
Caso utilizar um nova biblioteca é aqui que deve ser adicionada.
Repare que já existe o composer e o próprio zendframework.

O que é executado primeiro? qual a sequência? o que acontece quando é rodada a aplicação ZF2?

index.php

Bom, o primeiro arquivo a ser rodado pela aplicação é o index.php que fica no diretório /public.

Zend\Mvc\Application::init(require ‘config/application.config.php’)->run();

As duas funções estão localizadas no diretório (vendor/zendframework/zendframework/library/Zend/Mvc)
arquivo Application.php.
Nele esta também funções que serão usadas futuramente, como getConfig(), getRequest(), getResponse() e outras.

init(require ‘config/application.config.php’) – método de inicialização rápida e fácil da aplicação.
application.config.php – fica responsável pela configuração dos módulos a serem carregados, mantendo o index.php sem alteração.

run() – Roda aplicação através do evento MvcEvent.

application.config.php

Neste momento chegamos no config/application.config.php
onde estão definidos o módulos utilizados, caso seja criado um novo módulo e ele não for adicionado no array ‘modules’ ele não será carregado.

No array ‘module_paths’ definimos o local dos módulos (./module e ./vendor)

Obs.: se passarmos ‘a’ no array ‘modules‘, no array ‘module_paths‘ ele vai esperar que exista um módulo ‘a’ no diretório /module

Module.php

Agora estamos no Module.php do módulo. Considerado por muitos o coração do módulo.
Nele existe 3 funções

  • onBootstrap() – responsável pelos eventos
  • getConfig() – configurações do modulo, como route, view manager e controller
  • getAutoloaderConfig() – responsável pelos Autoloder através dos namespaces

A partir daqui o ZF2 encontra o /config/module.config.php, que irá tratar as rotas, encontrar os controles invocados, e parando no controller, onde entram os conceitos do MVC (Model, View e Controller) onde a maioria já conhece, mas isso é assunto para um próximo post.

Instalação do ZF2

A instalação do Zend Framework 2 pode-se dizer que é um dos pontos mais fácil.

Existem vários tutoriais sobre o assunto. Mas o mais indicado é dá Documentação Oficial do ZF2.

De forma rápida, você precisa do PHP 5.3 ou versões superiores instalado em sua máquina para fazer a instalação.

Depois você precisa do Skeleton do ZF2 encontrado no GitHub ou através do zftool, tendo baixado o skeleton basta acessar sua aplicação e instalar o ZF2 através do composer (gerenciador de dependências) pelos comandos:

php composer.phar self-update
php composer.phar install

Agora você tem o ZF2 instalado.

Utilizando o servidor do PHP (a partir da versão 5.4), acessando o diretório /public e com o comando:

php -S localhost:8080

Você verá o resultado em seu browser, acessando:

http://localhost:8080

Há muitas formas de instalar o ZF2 está é apenas uma.

Conclusão

Zend Framework 2 é um ótimo framework para estudar e usar.
O entendimento dele não é algo simples, mas com o passar do tempo tudo se esclarece e você passa a usar os componentes que o ZF2 lhe oferece dá melhor forma.

Esperam que tenham gostado.
Dúvidas, críticas, sugestões de melhorias são bem vindas.

Att
Alefe Variani

Advertisements

Deixe uma Resposta

Preencha os seus detalhes abaixo ou clique num ícone para iniciar sessão:

Logótipo da WordPress.com

Está a comentar usando a sua conta WordPress.com Terminar Sessão / Alterar )

Imagem do Twitter

Está a comentar usando a sua conta Twitter Terminar Sessão / Alterar )

Facebook photo

Está a comentar usando a sua conta Facebook Terminar Sessão / Alterar )

Google+ photo

Está a comentar usando a sua conta Google+ Terminar Sessão / Alterar )

Connecting to %s