public function QueryArgsCacheContext::getContext in Drupal 9
Same name and namespace in other branches
- 8 core/lib/Drupal/Core/Cache/Context/QueryArgsCacheContext.php \Drupal\Core\Cache\Context\QueryArgsCacheContext::getContext()
Returns the string representation of the cache context.
A cache context service's name is used as a token (placeholder) cache key, and is then replaced with the string returned by this method.
Parameters
string|null $parameter: The parameter, or NULL to indicate all possible parameter values.
Return value
string The string representation of the cache context. When $parameter is NULL, a value representing all possible parameters must be generated.
Throws
\LogicException Thrown if the passed in parameter is invalid.
Overrides CalculatedCacheContextInterface::getContext
File
- core/
lib/ Drupal/ Core/ Cache/ Context/ QueryArgsCacheContext.php, line 26
Class
- QueryArgsCacheContext
- Defines the QueryArgsCacheContext service, for "per query args" caching.
Namespace
Drupal\Core\Cache\ContextCode
public function getContext($query_arg = NULL) {
if ($query_arg === NULL) {
// All arguments requested. Use normalized query string to minimize
// variations.
$value = $this->requestStack
->getCurrentRequest()
->getQueryString();
return $value !== NULL ? $value : '';
}
elseif ($this->requestStack
->getCurrentRequest()->query
->has($query_arg)) {
$value = $this->requestStack
->getCurrentRequest()->query
->get($query_arg);
if (is_array($value)) {
return http_build_query($value);
}
elseif ($value !== '') {
return $value;
}
return '?valueless?';
}
return '';
}