class CurrentRouteMatch in Drupal 9
Same name and namespace in other branches
- 8 core/lib/Drupal/Core/Routing/CurrentRouteMatch.php \Drupal\Core\Routing\CurrentRouteMatch
Default object for current_route_match service.
Hierarchy
- class \Drupal\Core\Routing\CurrentRouteMatch implements ResettableStackedRouteMatchInterface
Expanded class hierarchy of CurrentRouteMatch
3 files declare their use of CurrentRouteMatch
- ContentPreprocessTest.php in core/
modules/ content_moderation/ tests/ src/ Unit/ ContentPreprocessTest.php - CurrentRouteMatchTest.php in core/
tests/ Drupal/ Tests/ Core/ Routing/ CurrentRouteMatchTest.php - MenuActiveTrailTest.php in core/
tests/ Drupal/ Tests/ Core/ Menu/ MenuActiveTrailTest.php
1 string reference to 'CurrentRouteMatch'
- core.services.yml in core/
core.services.yml - core/core.services.yml
1 service uses CurrentRouteMatch
File
- core/
lib/ Drupal/ Core/ Routing/ CurrentRouteMatch.php, line 11
Namespace
Drupal\Core\RoutingView source
class CurrentRouteMatch implements ResettableStackedRouteMatchInterface {
/**
* The related request stack.
*
* @var \Symfony\Component\HttpFoundation\RequestStack
*/
protected $requestStack;
/**
* Internal cache of RouteMatch objects.
*
* @var \SplObjectStorage
*/
protected $routeMatches;
/**
* Constructs a CurrentRouteMatch object.
*
* @param \Symfony\Component\HttpFoundation\RequestStack $request_stack
* The request stack.
*/
public function __construct(RequestStack $request_stack) {
$this->requestStack = $request_stack;
$this->routeMatches = new \SplObjectStorage();
}
/**
* {@inheritdoc}
*/
public function getRouteName() {
return $this
->getCurrentRouteMatch()
->getRouteName();
}
/**
* {@inheritdoc}
*/
public function getRouteObject() {
return $this
->getCurrentRouteMatch()
->getRouteObject();
}
/**
* {@inheritdoc}
*/
public function getParameter($parameter_name) {
return $this
->getCurrentRouteMatch()
->getParameter($parameter_name);
}
/**
* {@inheritdoc}
*/
public function getParameters() {
return $this
->getCurrentRouteMatch()
->getParameters();
}
/**
* {@inheritdoc}
*/
public function getRawParameter($parameter_name) {
return $this
->getCurrentRouteMatch()
->getRawParameter($parameter_name);
}
/**
* {@inheritdoc}
*/
public function getRawParameters() {
return $this
->getCurrentRouteMatch()
->getRawParameters();
}
/**
* Returns the route match for the current request.
*
* @return \Drupal\Core\Routing\RouteMatchInterface
* The current route match object.
*/
public function getCurrentRouteMatch() {
return $this
->getRouteMatch($this->requestStack
->getCurrentRequest());
}
/**
* Returns the route match for a passed in request.
*
* @param \Symfony\Component\HttpFoundation\Request $request
* A request object.
*
* @return \Drupal\Core\Routing\RouteMatchInterface
* A route match object created from the request.
*/
protected function getRouteMatch(Request $request) {
if (isset($this->routeMatches[$request])) {
$route_match = $this->routeMatches[$request];
}
else {
$route_match = RouteMatch::createFromRequest($request);
// Since getRouteMatch() might be invoked both before and after routing
// is completed, only statically cache the route match after there's a
// matched route.
if ($route_match
->getRouteObject()) {
$this->routeMatches[$request] = $route_match;
}
}
return $route_match;
}
/**
* {@inheritdoc}
*/
public function resetRouteMatch() {
$this->routeMatches = new \SplObjectStorage();
}
/**
* {@inheritdoc}
*/
public function getMasterRouteMatch() {
return $this
->getRouteMatch($this->requestStack
->getMainRequest());
}
/**
* {@inheritdoc}
*/
public function getParentRouteMatch() {
return $this
->getRouteMatch($this->requestStack
->getParentRequest());
}
/**
* {@inheritdoc}
*/
public function getRouteMatchFromRequest(Request $request) {
return $this
->getRouteMatch($request);
}
}
Members
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
CurrentRouteMatch:: |
protected | property | The related request stack. | |
CurrentRouteMatch:: |
protected | property | Internal cache of RouteMatch objects. | |
CurrentRouteMatch:: |
public | function |
Returns the route match for the current request. Overrides StackedRouteMatchInterface:: |
|
CurrentRouteMatch:: |
public | function |
Gets the master route match.. Overrides StackedRouteMatchInterface:: |
|
CurrentRouteMatch:: |
public | function |
Returns the processed value of a named route parameter. Overrides RouteMatchInterface:: |
|
CurrentRouteMatch:: |
public | function |
Returns the bag of all processed route parameters. Overrides RouteMatchInterface:: |
|
CurrentRouteMatch:: |
public | function |
Returns the parent route match of the current. Overrides StackedRouteMatchInterface:: |
|
CurrentRouteMatch:: |
public | function |
Returns the raw value of a named route parameter. Overrides RouteMatchInterface:: |
|
CurrentRouteMatch:: |
public | function |
Returns the bag of all raw route parameters. Overrides RouteMatchInterface:: |
|
CurrentRouteMatch:: |
protected | function | Returns the route match for a passed in request. | |
CurrentRouteMatch:: |
public | function |
Returns a route match from a given request, if possible. Overrides StackedRouteMatchInterface:: |
|
CurrentRouteMatch:: |
public | function |
Returns the route name. Overrides RouteMatchInterface:: |
|
CurrentRouteMatch:: |
public | function |
Returns the route object. Overrides RouteMatchInterface:: |
|
CurrentRouteMatch:: |
public | function |
Resets the route match static cache. Overrides ResettableStackedRouteMatchInterface:: |
|
CurrentRouteMatch:: |
public | function | Constructs a CurrentRouteMatch object. |