public function IsGroupMemberCacheContext::getCacheableMetadata in Group 8
Same name and namespace in other branches
- 2.0.x src/Cache/Context/IsGroupMemberCacheContext.php \Drupal\group\Cache\Context\IsGroupMemberCacheContext::getCacheableMetadata()
Gets the cacheability metadata for the context based on the parameter value.
There are three valid cases for the returned CacheableMetadata object:
- An empty object means this can be optimized away safely.
- A max-age of 0 means that this context can never be optimized away. It will never bubble up and cache tags will not be used.
- Any non-zero max-age and cache tags will bubble up into the cache item if this is optimized away to allow for invalidation if the context value changes.
Parameters
string|null $parameter: The parameter, or NULL to indicate all possible parameter values.
Return value
\Drupal\Core\Cache\CacheableMetadata A cacheable metadata object.
Throws
\LogicException Thrown if the passed in parameter is invalid.
Overrides CalculatedCacheContextInterface::getCacheableMetadata
File
- src/
Cache/ Context/ IsGroupMemberCacheContext.php, line 97
Class
- IsGroupMemberCacheContext
- Defines a cache context for "is a group member or not" caching.
Namespace
Drupal\group\Cache\ContextCode
public function getCacheableMetadata($group_id = NULL) {
if (!$group_id) {
throw new \LogicException('No group ID provided for user.is_group_member cache context.');
}
// The value of this context is affected when the user joins or leaves the
// group. Both of which trigger a user save, so we can simply add the user's
// cacheable metadata here.
return CacheableMetadata::createFromObject($this->currentUser
->getAccount());
}