ZFTool 2 - Как создать действие?

Я использую ZFTool 2 для создания модулей и контроллеров в моих проектах. Когда я пытаюсь использовать его для создания действия, я сталкиваюсь с ошибкой.

В документации сказано следующее:

Action creation:
  zftool create action <name> <controllerName> <module> [<path>]    create an action in a controller                                                          

  <name>              The name of the action to be created                                                                                                                          
  <controllerName>    The name of the controller in which the action should be created                                                                                              
  <module>            The module containing the controller                                                                                                                          
  <path>              The root path of a ZF2 application where to create the action          

Поэтому я ввел в Терминал следующее:

zftool create action test Index Mymodule my-project-root

Я получаю следующее (не очень полезное) сообщение об ошибке:

Reason for failure: Invalid arguments or no arguments provided

Я тоже попробовал вот так, с тем же результатом:

zftool create action testAction IndexController Mymodule my-project-root

Я что-то здесь не так делаю? Почему мое действие не создано? Какие аргументы неверны?

РЕДАКТИРОВАТЬ
Как предложено в комментариях, я также пытался создать действие после перехода в корневой каталог проекта, чтобы убедиться, что путь не является проблемой. Я получил следующее сообщение об ошибке:

Fatal error: Uncaught exception 'Zend\ModuleManager\Exception\RuntimeException' with message 'Module (ZFTool) could not be initialized.' in /Applications/AMPPS/www/myProject/vendor/zendframework/zendframework/library/Zend/ModuleManager/ModuleManager.php:189

1 ответ

Решение

Вероятно, последний аргумент my-project-root неправильно. Он должен представлять правильный физический корневой путь приложения ZF2.

Попробуй это:

zftool create action foobar   Index        Application /path/to/your/project
                     [action] [Controller] [Module]    [Your project root]

РЕДАКТИРОВАТЬ: После ваших обновлений я понял, что проблема может быть связана с вашей установкой ZFTool. (Предполагая, что вы пытаетесь использовать zftool в качестве внешней команды). Попробуйте прикрепить его как модуль к вашему проекту:

$ cd /path/to/your/projectroot
$ php composer.phar selfupdate
$ php composer.phar require --dev zendframework/zftool:dev-master
$ ./vendor/bin/zf.php create action foobar Index Application

Как видите, в этом подходе нет необходимости явно устанавливать корень проекта.

Другие вопросы по тегам