You are here

public function UrlGenerator::getPathFromRoute in Drupal 9

Same name and namespace in other branches
  1. 8 core/lib/Drupal/Core/Routing/UrlGenerator.php \Drupal\Core\Routing\UrlGenerator::getPathFromRoute()

Gets the internal path (system path) for a route.

Parameters

string|\Symfony\Component\Routing\Route $name: The route name or a route object.

array $parameters: An array of parameters as passed to \Symfony\Component\Routing\Generator\UrlGeneratorInterface::generate().

Return value

string The internal Drupal path corresponding to the route. This string is not urlencoded and will be an empty string for the front page.

Overrides UrlGeneratorInterface::getPathFromRoute

File

core/lib/Drupal/Core/Routing/UrlGenerator.php, line 129

Class

UrlGenerator
Generates URLs from route names and parameters.

Namespace

Drupal\Core\Routing

Code

public function getPathFromRoute($name, $parameters = []) {
  $route = $this
    ->getRoute($name);
  $name = $this
    ->getRouteDebugMessage($name);
  $this
    ->processRoute($name, $route, $parameters);
  $path = $this
    ->getInternalPathFromRoute($name, $route, $parameters);

  // Router-based paths may have a querystring on them but Drupal paths may
  // not have one, so remove any ? and anything after it. For generate() this
  // is handled in processPath().
  $path = preg_replace('/\\?.*/', '', $path);
  return trim($path, '/');
}