在插件中获取重新路由请求(模块,控制器,操作名称)

时间:2012-02-16 20:40:29

标签: php zend-framework plugins

我有一个插件(dispatchLoopStartup),用于检查是否允许用户在未登录的情况下访问站点的某些部分。如果他们尝试访问受限制的部分,则会转发到登录页面,如下所示:

$request->setControllerName('login');
$request->setActionName('cms');

我有另一个插件(preDispatch),它根据当前操作从数据库中检索数据。当请求被转发到不同的操作时,此插件仍然会在转发之前读取请求。

如何在第二个插件中获取更新的请求?

1 个答案:

答案 0 :(得分:0)

我的愚蠢错误。我通过$request->getParams()访问模块/控制器/操作,而不是:

echo $request->getModuleName().'/'
    .$request->getControllerName().'/'
    .$request->getActionName().'/';

getParams()返回前进的params,这就是为什么我感到困惑。