Zend Framework多字动作名称

时间:2014-03-20 11:04:50

标签: php zend-framework zend-route zend-router

这个问题已被多次询问,但出于某种原因,建议的解决方案对我不起作用。

我不想在我的行动中使用“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没有将camel case应用于动作名称。

我使用的Zend Framework版本是1.12。

任何人都可以帮忙吗?

修改:如果我将操作名称更改为“deletedefaultuser”,则说明其工作正常。

1 个答案:

答案 0 :(得分:2)

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

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

然后它应该工作。