2013-08-21 81 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(); 
    }