Instalando Zend Framework 2 com ZFTool
Introdução
Neste artigo vamos aprender como criar um novo projeto zend framework 2 de forma rápida, utilizando o ZFTool como apoio. Além disso, vamos mostrar como contar com a ajuda do ZFTool para gerenciar os módulos da sua aplicação zend framework.
Pré-requisitos
O tutorial é baseado em um ambiente Linux com Apache e PHP instalado. É necessário também que o PHP esteja instalado no modo command-line (CLI)
Instalação inicial do ZFTool
Para iniciar vamos baixar o pacote zftool.phar do site do zendframework, copiá-lo para /usr/local/bin e setar as devidas permissões:
# wget http://packages.zendframework.com/zftool.phar
# mv zftool.phar /usr/local/bin/zftool.phar
# chmod 755 /usr/local/bin/zftool.phar
Criando o esqueleto da aplicação Zend Framework
Usando o zftool, Vamos criar nossa aplicação zend em /www/zf2-project
# mkdir /www/
# /usr/local/bin/zftool.phar create project /www/zf2-project
Instalando o pacote library do ZF2
Com o esqueleto da aplicação criado, vamos instalar as bibliotecas do framework e aproveitar para atualizar a versão do composer:
# cd /www/zf2-project
# php composer.phar self-update && php composer.phar install
Updating to version 029341e114cc03f24cb0a80b97e82d4e78eac852.
Downloading: 100%
Loading composer repositories with package information
Installing dependencies (including require-dev)
- Installing zendframework/zendframework (2.2.2)
Loading from cache
zendframework/zendframework suggests installing doctrine/annotations (Doctrine Annotations >=1.0 for annotation features)
zendframework/zendframework suggests installing ircmaxell/random-lib (Fallback random byte generator for ZendMathRand if OpenSSL/Mcrypt extensions are unavailable)
zendframework/zendframework suggests installing ocramius/proxy-manager (ProxyManager to handle lazy initialization of services)
zendframework/zendframework suggests installing zendframework/zendpdf (ZendPdf for creating PDF representations of barcodes)
zendframework/zendframework suggests installing zendframework/zendservice-recaptcha (ZendServiceReCaptcha for rendering ReCaptchas in ZendCaptcha and/or ZendForm)
Writing lock file
Generating autoload files
Instalando o módulo do zftool no seu projeto recém-criado
O ZFTool tem outras funções além de criar o esqueleto de novos projetos para o zend framework2. Acredito que as funções mais úteis sejam gerenciar novos módulos e criação de novos Controllers. Para podermos desfrutar dessas funções temos que instalar o módulo do ZFTool dentro do novo projeto que acabamos de criar.
# cd /www/zf2-project
# php composer.phar require zendframework/zftool:dev-master
composer.json has been updated
Loading composer repositories with package information
Updating dependencies (including require-dev)
- Installing zendframework/zftool (dev-master f6af7a4)
Cloning f6af7a4cc0b595ccb1d9bd54f0c67ca81b16390c
Writing lock file
Generating autoload files
Criando o VirtualHost e acessando o projeto
Segue abaixo a configuração que deve ser realizado no VirtualHost do Apache para podermos acessar o projeto:
<VirtualHost *:80> ServerName zf2-project.localhost DocumentRoot /www/zf2-project/public/ SetEnv APPLICATION_ENV "development" <Directory /www/zf2-project/public/> DirectoryIndex index.php AllowOverride All Order allow,deny Allow from all </Directory> </VirtualHost
Configuração no arquivo hosts
Configure o arquivo hosts da sua estação de acordo com o seu ambiente de desenvolvimento:
127.0.0.1 zf2-project.localhost
Acessando o projeto:
Utilizando mais do ZFTool
- Listando módulos instalados
# cd /www/zf2-project/
# php /usr/local/bin/zftool.phar modules
Modules installed:
Application
# php /usr/local/bin/zftool.phar create module Admin
The module Admin has been created
# php /usr/local/bin/zftool.phar modules
Modules installed:
Application
Admin
# mkdir module/Admin/view/admin
# php /usr/local/bin/zftool.phar create controller Login Admin
The controller Login has been created in module Admin.
Indo Além
Aprenda como configurar FirePHP e Doctrine no Zend Framework 2 lendo meu outro artigo!
Belo tuto Douglas, cara teria como vc me dar uma ajuda com o zend? To precisando fazer uma consulta no Mysql e buscar todos os cadastros com um determinado valor, so que quando eu filtro so aparece o primeiro cadastro com o valor.
Ah, Ótimo tutorial Douglas! Deu vontade te ler os outros artigos! Parabéns!
Estou com um problema quando executo esse comando: php /usr/local/bin/zftool.phar modules aparece esse erro
PHP Fatal error: Uncaught exception ‘RuntimeException’ with message ‘Cannot access phar file entry ‘//Module.php’ in archive ‘/usr/local/bin/zftool.phar’, phar error: invalid path “//Module.php” contains double slash’ in /home/felipe/p/tuto_zf2/vendor/zendframework/zendframework/library/Zend/Loader/ModuleAutoloader.php:247
Stack trace:
#0 /home/felipe/p/tuto_zf2/vendor/zendframework/zendframework/library/Zend/Loader/ModuleAutoloader.php(247): PharFileInfo->__construct(‘phar:///usr/loc…’)
#1 /home/felipe/p/tuto_zf2/vendor/zendframework/zendframework/library/Zend/Loader/ModuleAutoloader.php(153): Zend\Loader\ModuleAutoloader->loadModuleFromDir(‘phar:///usr/loc…’, ‘ZFTool\Module’)
#2 [internal function]: Zend\Loader\ModuleAutoloader->autoload(‘ZFTool\Module’)
#3 [internal function]: spl_autoload_call(‘ZFTool\Module’)
#4 /home/felipe/p/tuto_zf2/vendor/zendframework/zendframework/library/Zend/ModuleManager/Listener/ModuleResolverListener.php(28): class_exists(‘ZFTool\Module’)
#5 [internal function]: Zend\ModuleManager\Listener in /home/felipe/p/tuto_zf2/vendor/zendframework/zendframework/library/Zend/Loader/ModuleAutoloader.php on line 247
Poderia me ajudar por favor?
Ola Felipe, eu não consegui reproduzir este erro indicado por você. Poderia tentar seguir o tutorial do zero novamente e verificar se o erro persiste ?
Boa sorte!
Que bom que gostou do blog! Boa sorte!