trait RedirectDestinationTrait
Same name in other branches
- 9 core/lib/Drupal/Core/Routing/RedirectDestinationTrait.php \Drupal\Core\Routing\RedirectDestinationTrait
- 8.9.x core/lib/Drupal/Core/Routing/RedirectDestinationTrait.php \Drupal\Core\Routing\RedirectDestinationTrait
- 10 core/lib/Drupal/Core/Routing/RedirectDestinationTrait.php \Drupal\Core\Routing\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.