public CacheableMetadata::merge(CacheableMetadata $other)
Merges the values of another CacheableMetadata object with this one.
Parameters
\Drupal\Core\Cache\CacheableMetadata $other: The other CacheableMetadata object.
Return value
static A new CacheableMetadata object, with the merged data.
File
- core/lib/Drupal/Core/Cache/CacheableMetadata.php, line 92
Class
- CacheableMetadata
- Defines a generic class for passing cacheability metadata.
Namespace
Drupal\Core\Cache
Code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 | public function merge(CacheableMetadata $other ) { $result = clone $this ; // This is called many times per request, so avoid merging unless absolutely // necessary. if ( empty ( $this ->cacheContexts)) { $result ->cacheContexts = $other ->cacheContexts; } elseif ( empty ( $other ->cacheContexts)) { $result ->cacheContexts = $this ->cacheContexts; } else { $result ->cacheContexts = Cache::mergeContexts( $this ->cacheContexts, $other ->cacheContexts); } if ( empty ( $this ->cacheTags)) { $result ->cacheTags = $other ->cacheTags; } elseif ( empty ( $other ->cacheTags)) { $result ->cacheTags = $this ->cacheTags; } else { $result ->cacheTags = Cache::mergeTags( $this ->cacheTags, $other ->cacheTags); } if ( $this ->cacheMaxAge === Cache::PERMANENT) { $result ->cacheMaxAge = $other ->cacheMaxAge; } elseif ( $other ->cacheMaxAge === Cache::PERMANENT) { $result ->cacheMaxAge = $this ->cacheMaxAge; } else { $result ->cacheMaxAge = Cache::mergeMaxAges( $this ->cacheMaxAge, $other ->cacheMaxAge); } return $result ; } |
Please login to continue.