Zf2 - 使用uri获取控制器名称/操作名称

1 zend-framework2

有没有办法使用给定的uri获取控制器名称和操作名称?

例:

uri: http://test/client/edit/48
Run Code Online (Sandbox Code Playgroud)

控制器名称=>客户端操作名称=>编辑

Bra*_*sen 11

您可以将uri与应用程序路由器匹配以获取RouteMatch对象.

$request = new \Zend\Http\Request();
$request->setUri($uri);
$router = $serviceLocator->get('Router');
$routeMatch = $router->match($request);
Run Code Online (Sandbox Code Playgroud)

现在你可以检索你的参数了.

if ($routeMatch) {
    $controller = $routeMatch->getParam('controller');
    $action     = $routeMatch->getParam('action');
}
Run Code Online (Sandbox Code Playgroud)