Php Zend framework:除了控制器中的索引操作之外,没有其他操作是可调用的

Php Zend framework:除了控制器中的索引操作之外,没有其他操作是可调用的,php,model-view-controller,zend-framework,zend-view,zend-controller,Php,Model View Controller,Zend Framework,Zend View,Zend Controller,我有一个带有两个操作的控制器文件,即: class IndexController extends Zend_Controller_Action { public function init() { /* Initialize action controller here */ } public function indexAction() { // action body } public funct

我有一个带有两个操作的控制器文件,即:

class IndexController extends Zend_Controller_Action
{

    public function init()
    {
        /* Initialize action controller here */
    }

    public function indexAction()
    {
        // action body
    }

    public function doLoginAction()
    {
        // action body
    }
}
以及相应的视图文件。 i、 当我点击它时,加载索引视图。 我面临的问题是,当我尝试访问这个控制器的index操作时,它将加载相应的视图,但当我尝试点击dologin操作时,它会给出 错误

*消息:操作dologin不存在,并且未被困在\uu调用中*

请求参数:

array (
  'controller' => 'index',
  'action' => 'dologin',
  'module' => 'default',
)  
当我尝试使用另一个控制器和操作时,也会发生同样的情况。该控制器的索引操作也可以正常运行,但控制器中的任何其他操作都不能运行


注意:我已经在apache配置文件中配置了mod_rewrite模块和AllowOverride,所有以驼峰大小写的动作名称都应该用虚线表示为参数。因此,doLoginAction将响应/default/index/do login,而不是dologin。如果您希望URL为dologin,则应将操作重命名为dologinAction。

您也可以在控制器级别使用连字符分隔的URL

假设您需要这样一个url:

那么您的控制器应命名为:

DoSomeStuffController (as class name) && DoSomeStuffController.php (as controller file name)


我想这和多洛金有关。可能是一个保留的关键字。因为当我用其他名称创建一个新函数时,它工作得很好
myStuffAction() (as your method name)