You are here

protected function UrlGenerator::processPath in Zircon Profile 8

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

Passes the path to a processor manager to allow alterations.

1 call to UrlGenerator::processPath()
UrlGenerator::generateFromRoute in core/lib/Drupal/Core/Routing/UrlGenerator.php
Generates a URL or path for a specific route based on the given parameters.
1 method overrides UrlGenerator::processPath()
NullGenerator::processPath in core/lib/Drupal/Core/Routing/NullGenerator.php
Passes the path to a processor manager to allow alterations.

File

core/lib/Drupal/Core/Routing/UrlGenerator.php, line 377
Contains \Drupal\Core\Routing\UrlGenerator.

Class

UrlGenerator
Generates URLs from route names and parameters.

Namespace

Drupal\Core\Routing

Code

protected function processPath($path, &$options = array(), BubbleableMetadata $bubbleable_metadata = NULL) {

  // Router-based paths may have a querystring on them.
  if ($query_pos = strpos($path, '?')) {

    // We don't need to do a strict check here because position 0 would mean we
    // have no actual path to work with.
    $actual_path = substr($path, 0, $query_pos);
    $query_string = substr($path, $query_pos);
  }
  else {
    $actual_path = $path;
    $query_string = '';
  }
  $path = $this->pathProcessor
    ->processOutbound($actual_path === '/' ? $actual_path : rtrim($actual_path, '/'), $options, $this->requestStack
    ->getCurrentRequest(), $bubbleable_metadata);
  $path .= $query_string;
  return $path;
}