Usando o ZFTool

Boa noite pessoal!

Hoje vou falar um pouco sobre o zftool, uma ferramenta de linha de comando para gerenciar seus projetos ZF2.

Com ele você pode:

  • Criar um projeto
  • Criar um novo módulo
  • Listar os módulos de um projeto
  • Criar um controller
  • Criar o mapa de classes
  • Instalar a ZF2
  • Gerenciar as configurações da sua aplicação
  • Executar diagnósticos

Instalação

Você pode instalar o zftool de 3 maneiras diferentes:

  • Baixar o phar

A vantagem de usar o phar é que você não precisa já ter o projeto criado como nos outros 2 passos, então pode usá-lo para criar um do zero.

Baixe o phar do site https://packages.zendframework.com/zftool.phar e está pronto para usá-lo. Recomendo adicionar uma entrada no PATH para ele, ou já salvá-lo num diretório apropriado. Sendo um phar, você pode executá-lo direto sem chamar o php antes, basta dar permissão de executar.

$ zftool.phar version
  • Via composer

Basta digitar o comando abaixo e o composer já fara a instalação:

$ composer require zendframework/zftool:dev-master

Depois edite seu “config/application.config.php” e acrescente “ZFTool” na parte de módulos que deve ficar semelhante ao abaixo.

<?php
return array(
    'modules' => array(
        'Application',
        'ZFTool',
    ),

    'module_listener_options' => array(
        'module_paths' => array(
            './module',
            './vendor',
        ),

        'config_glob_paths' => array(
            'config/autoload/{,*.}{global,local}.php',
        ),
    ),
);

Para executá-lo:

$ php public/index.php version
  • Clonar o repositório do Github

Clone o zftool dentro do diretório “vendor” do seu projeto, edite seu “config/application.config.php” como no passo acima.

Para executá-lo:

$ php public/index.php version

Criando um projeto

Para criar um projeto execute:

$ zftool.phar create project Teste
ZF2 skeleton application installed in Teste.
In order to execute the skeleton application you need to install the ZF2 library.
Execute: "composer.phar install" in Teste
For more info in Teste/README.md

$ ls -l Teste
total 1440
-rw-r--r--  1 leandro  wheel    1548 26 Jul 17:27 LICENSE.txt
-rw-r--r--  1 leandro  wheel    1759 26 Jul 17:27 README.md
-rw-r--r--  1 leandro  wheel     388 26 Jul 17:31 composer.json
-rw-r--r--  1 leandro  wheel    8110 26 Jul 17:32 composer.lock
-rwxr-xr-x  1 leandro  wheel  709565 26 Jul 17:27 composer.phar
drwxr-xr-x  4 leandro  wheel     136 26 Jul 17:44 config
drwxr-xr-x  3 leandro  wheel     102 26 Jul 17:27 data
-rw-r--r--  1 leandro  wheel    1807 26 Jul 17:27 init_autoloader.php
drwxr-xr-x  3 leandro  wheel     102 26 Jul 17:27 module
drwxr-xr-x  7 leandro  wheel     238 26 Jul 17:27 public
drwxr-xr-x  9 leandro  wheel     306 26 Jul 17:32 vendor

Criando um módulo

Com o projeto criado, podemos criar um novo módulo:

$ zftool.phar create module MeuModulo
The module MeuModulo has been created

$ ls -l module/
total 0
drwxr-xr-x  7 leandro  wheel  238 26 Jul 17:27 Application
drwxr-xr-x  6 leandro  wheel  204 26 Jul 18:33 MeuModulo

$ ls -l module/MeuModulo/
total 8
-rw-r--r--  1 leandro  wheel  439 26 Jul 18:33 Module.php
drwxr-xr-x  3 leandro  wheel  102 26 Jul 18:33 config
drwxr-xr-x  3 leandro  wheel  102 26 Jul 18:33 src
drwxr-xr-x  2 leandro  wheel   68 26 Jul 18:33 view

Listando os módulos instalados

Vamos agora listar todos os módulos do nosso projeto:

$ zftool.phar modules
Modules installed:
Application
MeuModulo

Criar um controller

Está dando um erro na criação do controller nesta última versão do zftool. Ele criou o controller, mas deu erro na criação do arquivo view, mas o comando é:

$ zftool.phar create controller MeuController MeuModulo

Criar o mapa de classes

$ zftool.phar classmap generate module autoload_classmap.php
Creating classmap file for library in ./Teste/module
Scanning for files containing PHP classes .... DONE
Found 4 PHP classes
Creating classmap code ... DONE

Writing classmap to autoload_classmap.php...  DONE
Wrote classmap to ./Teste/autoload_classmap.php

$ cat autoload_classmap.php 
<?php
// Generated by Zend Framework 2
return array(
    'Application\Module'                           => __DIR__ . '/module/Application/Module.php',
    'Application\Controller\IndexController'       => __DIR__ . '/module/Application/src/Application/Controller/IndexController.php',
    'MeuModulo\Module'                             => __DIR__ . '/module/MeuModulo/Module.php',
    'MeuModulo\Controller\MeuControllerController' => __DIR__ . '/module/MeuModulo/src/MeuModulo/Controller/MeuControllerController.php',
);

Rodando diagnósticos

$ zftool.phar diag --debug
Starting diagnostics:
  OK   ZF: PHP Version: Current PHP version is 5.3.26
       ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
       '5.3.26'
       ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

OK (1 diagnostic tests)

Obrigado e até a próxima!

Leandro

3 comentários sobre “Usando o ZFTool

Deixe uma resposta

This site uses Akismet to reduce spam. Learn how your comment data is processed.