W3cubDocs

/Drupal 8

public function RedirectDestination::get

public RedirectDestination::get()

Gets the destination as a path.

To convert to a URL suitable for \Symfony\Component\HttpFoundation\RedirectResponse::__construct() use

\Drupal\Core\Url::fromUserInput(\Drupal::destination()->get())->setAbsolute()->toString()

Return value

string

Overrides RedirectDestinationInterface::get

File

core/lib/Drupal/Core/Routing/RedirectDestination.php, line 57

Class

RedirectDestination
Provides helpers for redirect destinations.

Namespace

Drupal\Core\Routing

Code

public function get() {
  if (!isset($this->destination)) {
    $query = $this->requestStack->getCurrentRequest()->query;
    if (UrlHelper::isExternal($query->get('destination'))) {
      $this->destination = '/';
    }
    elseif ($query->has('destination')) {
      $this->destination = $query->get('destination');
    }
    else {
      $this->destination = $this->urlGenerator->generateFromRoute('<current>', [], ['query' => UrlHelper::buildQuery(UrlHelper::filterQueryParameters($query->all()))]);
    }
  }

  return $this->destination;
}

© 2001–2016 by the original authors
Licensed under the GNU General Public License, version 2 and later.
Drupal is a registered trademark of Dries Buytaert.
https://api.drupal.org/api/drupal/core!lib!Drupal!Core!Routing!RedirectDestination.php/function/RedirectDestination::get/8.1.x