0

routing.yml

Login:
  url:   /login
  param: { module: access, action: login }

で、〜がある:

$module = 'access';
$action = 'login';

ルーティング名を取得したい?? // ログインする

getRoutingName($module, $action)returnのようなもの"login"

4

2 に答える 2

4

あなたが探しているのはほとんど 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/*)を返すことがよくあります)。

于 2012-12-11T13:35:03.837 に答える
-3

$currentRoute = $this->getContext()->getRouting()->getCurrentInternalUri(false);

于 2012-12-11T12:44:22.353 に答える