public function BubbleableMetadata::merge in Zircon Profile 8
Same name and namespace in other branches
- 8.0 core/lib/Drupal/Core/Render/BubbleableMetadata.php \Drupal\Core\Render\BubbleableMetadata::merge()
Merges the values of another bubbleable metadata object with this one.
Parameters
\Drupal\Core\Cache\CacheableMetadata $other: The other bubbleable metadata object.
Return value
static A new bubbleable metadata object, with the merged data.
Overrides CacheableMetadata::merge
File
- core/
lib/ Drupal/ Core/ Render/ BubbleableMetadata.php, line 31 - Contains \Drupal\Core\Render\BubbleableMetadata.
Class
- BubbleableMetadata
- Value object used for bubbleable rendering metadata.
Namespace
Drupal\Core\RenderCode
public function merge(CacheableMetadata $other) {
$result = parent::merge($other);
// This is called many times per request, so avoid merging unless absolutely
// necessary.
if ($other instanceof BubbleableMetadata) {
if (empty($this->attachments)) {
$result->attachments = $other->attachments;
}
elseif (empty($other->attachments)) {
$result->attachments = $this->attachments;
}
else {
$result->attachments = static::mergeAttachments($this->attachments, $other->attachments);
}
}
return $result;
}