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

时间:2013-08-21 08:35:07

标签: php plugins zend-framework2

如何在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();
}

1 个答案:

答案 0 :(得分:1)

您可以在源代码中看到它是如何工作的。

Current route helper

   $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();
    }