1

这个问题已经被问过很多次,但由于某种原因,提议的解决方案对我不起作用。

我不想在我的操作中使用像“deleteDefaultUser”这样的名称。为了实现这一点,我做了以下工作。

添加了一条路线

$route = new Zend_Controller_Router_Route_Static(
                'user/delete-default-user',
                array(
                        'action'     => 'deleteDefaultUser',
                        'controller' => 'user',
                        'module'     => 'root'
                )
        );
        $router->addRoute('delete-default-user', $route);

定义我的动作如下

public function deleteDefaultUserAction(){
        //some code
    }

并生成了这样的网址

 echo  $this->url(array(), 'delete-default-user');

(这会生成 URL /user/delete-default-user)

但由于某种原因,我仍然收到如下所示的错误:

Zend_Controller_Action_Exception: Action "deletedefaultuser" does not exist and was not trapped in __call() in C:\Users\Jay\Projects\EOP\library\Zend\Controller\Action.php on line 485

我检查了控制器和动作名称是否正确。但从错误消息看来,Zend Framework 似乎没有将驼峰式大小写应用于操作名称。

我使用的 Zend Framework 版本是 1.12。

有人可以帮忙吗?

编辑:如果我将操作名称更改为“deletedefaultuser”,它可以正常工作。

4

1 回答 1

3

将路线的动作部分更改为:

'action'     => 'delete-default-user',

然后它应该工作。

于 2014-03-20T11:15:37.740 回答