interface RedirectDestinationInterface

Same name and namespace in other branches
  1. 9 core/lib/Drupal/Core/Routing/RedirectDestinationInterface.php \Drupal\Core\Routing\RedirectDestinationInterface
  2. 8.9.x core/lib/Drupal/Core/Routing/RedirectDestinationInterface.php \Drupal\Core\Routing\RedirectDestinationInterface
  3. 10 core/lib/Drupal/Core/Routing/RedirectDestinationInterface.php \Drupal\Core\Routing\RedirectDestinationInterface

Provides an interface for redirect destinations.

Hierarchy

Expanded class hierarchy of RedirectDestinationInterface

All classes that implement RedirectDestinationInterface

11 files declare their use of RedirectDestinationInterface
ContentTranslationHandler.php in core/modules/content_translation/src/ContentTranslationHandler.php
CustomPageExceptionHtmlSubscriber.php in core/lib/Drupal/Core/EventSubscriber/CustomPageExceptionHtmlSubscriber.php
DefaultExceptionHtmlSubscriber.php in core/lib/Drupal/Core/EventSubscriber/DefaultExceptionHtmlSubscriber.php
EntityListBuilderTest.php in core/tests/Drupal/Tests/Core/Entity/EntityListBuilderTest.php
Links.php in core/modules/views/src/Plugin/views/field/Links.php

... See full list

File

core/lib/Drupal/Core/Routing/RedirectDestinationInterface.php, line 8

Namespace

Drupal\Core\Routing
View source
interface RedirectDestinationInterface {
    
    /**
     * Prepares a 'destination' URL query parameter for use with \Drupal\Core\Url.
     *
     * Used to direct the user back to the referring page after completing a form.
     * By default the current URL is returned. If a destination exists in the
     * current request, that destination is returned. As such, a destination can
     * persist across multiple pages.
     *
     * @return array
     *   An associative array containing the key:
     *   - destination: The value of the current request's 'destination' query
     *     parameter, if present. This can be either a relative or absolute URL.
     *     However, for security, redirection to external URLs is not performed.
     *     If the query parameter isn't present, then the URL of the current
     *     request is returned.
     *
     * @see \Drupal\Core\EventSubscriber\RedirectResponseSubscriber::checkRedirectUrl()
     * @ingroup form_api
     */
    public function getAsArray();
    
    /**
     * Gets the destination as a path.
     *
     * To convert to a URL suitable for
     * \Symfony\Component\HttpFoundation\RedirectResponse::__construct() use
     * @code
     * \Drupal\Core\Url::fromUserInput(\Drupal::destination()->get())->setAbsolute()->toString()
     * @endcode
     *
     * @return string
     */
    public function get();
    
    /**
     * Sets the destination as URL.
     *
     * This method should be used really rarely, for example views uses it, in
     * order to override all destination calls in all of its rendering.
     *
     * @param string $new_destination
     *   The new destination.
     *
     * @return $this
     */
    public function set($new_destination);

}

Members

Title Sort descending Modifiers Object type Summary Overrides
RedirectDestinationInterface::get public function Gets the destination as a path. 1
RedirectDestinationInterface::getAsArray public function Prepares a 'destination' URL query parameter for use with \Drupal\Core\Url. 1
RedirectDestinationInterface::set public function Sets the destination as URL. 1

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.