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
Как видите, в этом подходе нет необходимости явно устанавливать корень проекта.