路由名稱在routing.yml
Symfony的:從模塊/動作
Login:
url: /login
param: { module: access, action: login }
那麼我:
$module = 'access';
$action = 'login';
我想要得到的路由名稱? //登錄
類似getRoutingName($module, $action)
返回"login"
。
路由名稱在routing.yml
Symfony的:從模塊/動作
Login:
url: /login
param: { module: access, action: login }
那麼我:
$module = 'access';
$action = 'login';
我想要得到的路由名稱? //登錄
類似getRoutingName($module, $action)
返回"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);
我不想要現在的uri ...我想要這個$模塊和$動作 – user1272589
您可以用[url_for()](http://www.symfony-project.org/api/ 1_4/UrlHelper#method_url_for)。但我沒有聽說過獲得路線名*,通常不需要。 –