在routing.yml
Login:
url: /login
param: { module: access, action: login }
然后我有:
$module = 'access';
$action = 'login';
我想获取路由名称??// 登录
类似getRoutingName($module, $action)
return的东西"login"
。
在routing.yml
Login:
url: /login
param: { module: access, action: login }
然后我有:
$module = 'access';
$action = 'login';
我想获取路由名称??// 登录
类似getRoutingName($module, $action)
return的东西"login"
。
您正在寻找的几乎 getRouteThatMatchesParameters
是. 它为一些参数(模块、操作和查询字符串)找到了一个路由。
这是从模块和操作名称中检索路由名称的快速片段:
$routes = $this->getContext()->getRouting()->getRoutes();
foreach ($routes as $name => $route)
{
if ($route->matchesParameters(array('module' => 'access', 'action' => 'login'), $this->getContext()))
{
var_export($name);
break;
}
}
当心。我放break
是因为它可以检索多个路由(例如它通常会返回默认路由(通常是/:module/:action/*
))。
$currentRoute = $this->getContext()->getRouting()->getCurrentInternalUri(false);