trait RedirectDestinationTrait
Wrapper methods for the Redirect Destination.
This utility trait should only be used in application-level code, such as classes that would implement ContainerInjectionInterface. Services registered in the Container should not use this trait but inject the appropriate service directly for easier testing.
Hierarchy
- trait \Drupal\Core\Routing\RedirectDestinationTrait
 
10 files declare their use of RedirectDestinationTrait
- BulkForm.php in core/
modules/ views/ src/ Plugin/ views/ field/ BulkForm.php  - ConfigEntityListTest.php in core/
modules/ config/ tests/ src/ Functional/ ConfigEntityListTest.php  - ContextualLinks.php in core/
modules/ contextual/ src/ Plugin/ views/ field/ ContextualLinks.php  - ControllerBase.php in core/
lib/ Drupal/ Core/ Controller/ ControllerBase.php  - EntityListBuilder.php in core/
lib/ Drupal/ Core/ Entity/ EntityListBuilder.php  
File
- 
              core/
lib/ Drupal/ Core/ Routing/ RedirectDestinationTrait.php, line 13  
Namespace
Drupal\Core\RoutingView source
trait RedirectDestinationTrait {
  
  /**
   * The redirect destination service.
   *
   * @var \Drupal\Core\Routing\RedirectDestinationInterface
   */
  protected $redirectDestination;
  
  /**
   * Prepares a 'destination' URL query parameter for use with \Drupal\Core\Url.
   *
   * @see \Drupal\Core\Routing\RedirectDestinationInterface::getAsArray()
   *
   * @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.
   */
  protected function getDestinationArray() {
    return $this->getRedirectDestination()
      ->getAsArray();
  }
  
  /**
   * Returns the redirect destination service.
   *
   * @return \Drupal\Core\Routing\RedirectDestinationInterface
   *   The redirect destination helper.
   */
  protected function getRedirectDestination() {
    if (!isset($this->redirectDestination)) {
      $this->redirectDestination = \Drupal::destination();
    }
    return $this->redirectDestination;
  }
  
  /**
   * Sets the redirect destination service.
   *
   * @param \Drupal\Core\Routing\RedirectDestinationInterface $redirect_destination
   *   The redirect destination service.
   *
   * @return $this
   */
  public function setRedirectDestination(RedirectDestinationInterface $redirect_destination) {
    $this->redirectDestination = $redirect_destination;
    return $this;
  }
}
Members
| Title Sort descending | Modifiers | Object type | Summary | Overrides | 
|---|---|---|---|---|
| RedirectDestinationTrait::$redirectDestination | protected | property | The redirect destination service. | 2 | 
| RedirectDestinationTrait::getDestinationArray | protected | function | Prepares a 'destination' URL query parameter for use with \Drupal\Core\Url. | |
| RedirectDestinationTrait::getRedirectDestination | protected | function | Returns the redirect destination service. | |
| RedirectDestinationTrait::setRedirectDestination | public | function | Sets the redirect destination service. | 
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.