class MetadataBubblingUrlGenerator

Decorator for the URL generator, which bubbles bubbleable URL metadata.

Implements a decorator for the URL generator that allows to automatically collect and bubble up bubbleable metadata associated with URLs due to outbound path and route processing. This approach helps keeping the render and the routing subsystems decoupled.

Hierarchy

See also

\Drupal\Core\RouteProcessor\OutboundRouteProcessorInterface

\Drupal\Core\PathProcessor\OutboundPathProcessorInterface

\Drupal\Core\Render\BubbleableMetadata

File

core/lib/Drupal/Core/Render/MetadataBubblingUrlGenerator.php, line 21

Namespace

Drupal\Core\Render

Members

Name Modifiers Type Description
MetadataBubblingUrlGenerator::$renderer protected property The renderer.
MetadataBubblingUrlGenerator::$urlGenerator protected property The non-bubbling URL generator.
MetadataBubblingUrlGenerator::bubble protected function Bubbles the bubbleable metadata to the current render context.
MetadataBubblingUrlGenerator::generate public function
MetadataBubblingUrlGenerator::generateFromRoute public function Generates a URL or path for a specific route based on the given parameters. Overrides UrlGeneratorInterface::generateFromRoute
MetadataBubblingUrlGenerator::getContext public function
MetadataBubblingUrlGenerator::getPathFromRoute public function Gets the internal path (system path) for a route. Overrides UrlGeneratorInterface::getPathFromRoute
MetadataBubblingUrlGenerator::getRouteDebugMessage public function Convert a route identifier (name, content object etc) into a string usable for logging and other debug/error messages Overrides VersatileGeneratorInterface::getRouteDebugMessage
MetadataBubblingUrlGenerator::setContext public function
MetadataBubblingUrlGenerator::supports public function Whether this generator supports the supplied $name. Overrides VersatileGeneratorInterface::supports
MetadataBubblingUrlGenerator::__construct public function Constructs a new bubbling URL generator service.

© 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!Render!MetadataBubblingUrlGenerator.php/class/MetadataBubblingUrlGenerator/8.1.x