protected function FieldTranslationSynchronizer::itemHash in Drupal 9
Same name and namespace in other branches
- 8 core/modules/content_translation/src/FieldTranslationSynchronizer.php \Drupal\content_translation\FieldTranslationSynchronizer::itemHash()
Computes a hash code for the specified item.
@returns string A hash code that can be used to identify the item.
Parameters
array $items: An array of field items.
int $delta: The delta identifying the item to be processed.
array $properties: An array of column names to be synchronized.
1 call to FieldTranslationSynchronizer::itemHash()
- FieldTranslationSynchronizer::synchronizeItems in core/
modules/ content_translation/ src/ FieldTranslationSynchronizer.php - Synchronize the items of a single field.
File
- core/
modules/ content_translation/ src/ FieldTranslationSynchronizer.php, line 333
Class
- FieldTranslationSynchronizer
- Provides field translation synchronization capabilities.
Namespace
Drupal\content_translationCode
protected function itemHash(array $items, $delta, array $properties) {
$values = [];
if (isset($items[$delta])) {
foreach ($properties as $property) {
if (!empty($items[$delta][$property])) {
$value = $items[$delta][$property];
// String and integer values are by far the most common item values,
// thus we special-case them to improve performance.
$values[] = is_string($value) || is_int($value) ? $value : hash('sha256', serialize($value));
}
else {
// Explicitly track also empty values.
$values[] = '';
}
}
}
return implode('.', $values);
}