我正在使用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
答案 0 :(得分: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
如您所见,此方法无需明确设置项目根目录。