2011-05-17 146 views
4

识别控制器我创建了一个模块和控制器的使用:Zend的工具来创建操作不会在模块

$ zf create module api 
$ zf create controller auth index-action-included=1 api 

这工作得很好,我也得到了index动作时,我要求http://localhost/api/auth

我想创建一个新的动作称为验证:

$ zf create action validate auth view-included=1 api 

但我得到告诉:

An Error Has Occurred       
Controller auth was not found. 

编辑:

我已经直接添加动作控制器,并创建了视图文件 - 但我希望我不会错过任何我需要在这里命令行应该创建的东西。

+0

我建议在项目文件夹中对.zfproject.xml文件进行双重检查,并确保没有错字错误。 – xeranas 2011-07-20 09:11:59

回答

4

的命令应该是这样的:

$ zf create action validate -c auth 

详情zend commands

+1

hmm ..如果命令行帮助也指出 - 会有所帮助 - 但如果您在两个不同的模块中拥有auth控制器会发生什么? – HorusKol 2011-05-17 09:51:25

+0

它也似乎把视图放在应用程序目录而不是模块中......回到现在的手动编辑 – HorusKol 2011-05-17 09:53:01

+0

@HorusKol:如果你看到我在答案中提供的细节链接,你会发现你的细节查询 – 2011-05-17 09:57:02

3

我有同样的问题:

zf create controller Account 
... 
zf create action list Account 
An Error Has Occurred       
Controller Account was not found. 

的原因似乎是,create controller命令不添加部分导入.zf项目文件:

<controllersDirectory> 
    <controllerFile controllerName="Index"> 
     <actionMethod actionName="index"/> 
    </controllerFile> 
    <controllerFile controllerName="Error"/> 
    </controllersDirectory> 

解决方法:我手动添加<controllerFile controllerName="Account">

<controllersDirectory> 
    <controllerFile controllerName="Index"> 
     <actionMethod actionName="index"/> 
    </controllerFile> 
    <controllerFile controllerName="Account"> 
     <actionMethod actionName="index"/> 
    </controllerFile> 
    <controllerFile controllerName="Error"/> 
    </controllersDirectory> 

在此之后zf create action list Account成功执行。

+0

zf创建控制器帐户默认 实际上确实创建了xml文件控制器条目(defa ult的意思是没有模块),但它仍然没有帮助我创建一个动作。 – tishma 2012-01-26 13:16:43