1

我正在使用 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

4

1 回答 1

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

如您所见,这种方法无需显式设置项目根目录。

于 2014-08-10T17:36:37.463 回答