这个插件有什么问题

时间:2011-02-06 14:01:39

标签: php zend-framework

我想创建一个插件来检查控制器/操作是否为/cont/act,如果是,则在调度之前将其更改为other/act

我的插件看起来像这样

class Plugin_Test extends Zend_Controller_Plugin_Abstract {

    public function preDispatch(Zend_Controller_Request_Abstract $request)
    {
        if($this->getRequest()->getControllerName() == 'cont' &&
           $this->getRequest()->getActionName() == 'act') {

           $this->getRequest()->setControllerName('other');
           $this->getRequest()->setActionName('act');

        }
    }
}

问题是这似乎不起作用。我注册了这个插件,我发现它被称为

1 个答案:

答案 0 :(得分:4)

class Plugin_Test extends Zend_Controller_Plugin_Abstract {

    public function preDispatch(Zend_Controller_Request_Abstract $request)
    {
        if($request->getControllerName() == 'cont' &&
           $request->getActionName() == 'act') {

           $request->setControllerName('other');
           // $request->setActionName('act'); <- not required 

        }
    }
}