zf2获取插件中的路由和模块名称等


zf2 get route and module name etc. in plugin

如何在ZF2中的插件中获取路由、模块、控制器和动作名称?

viewHelper正在使用该插件。

我尝试了不同的方法,但似乎都不起作用。这是我尝试过的两种方法

方法1:

public function __construct(MvcEvent $e)
{
    $this->routename = $e->getRouteMatch()->getMatchedRouteName();
}

方法2:

public function __construct()
{
    $e = new MvcEvent();
    $this->routename = $e->getRouteMatch()->getMatchedRouteName();
}

您可以在源代码中看到它是如何使用这个助手的。

当前路线助手

   $routematch = $routeMatch = $serviceLocator->getServiceLocator()->get('Application')->getMvcEvent()->getRouteMatch();
   if($routeMatch) {
        $controller = $routeMatch->getParam('controller');
        $action     = $routeMatch->getParam('action');
        $module     = $routeMatch->getParam('__NAMESPACE__');
        $route      = $routeMatch->getMatchedRouteName();
    }