2013-08-21 50 views
1

如何获取ZF2中的插件中的路由,模块,控制器和操作名?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(); 
} 
+0

你尝试过哪些方法? – edigu

+0

我试图在构造中实例化mvcEvent,通过viewHelper传递它,但每次它返回null或致命错误。 – Peter

+0

请显示一些代码来理解他人你做错了什么。 – edigu

回答

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