function StorageComparer::__construct
Same name in other branches
- 9 core/lib/Drupal/Core/Config/StorageComparer.php \Drupal\Core\Config\StorageComparer::__construct()
- 8.9.x core/lib/Drupal/Core/Config/StorageComparer.php \Drupal\Core\Config\StorageComparer::__construct()
- 10 core/lib/Drupal/Core/Config/StorageComparer.php \Drupal\Core\Config\StorageComparer::__construct()
Constructs the Configuration storage comparer.
Parameters
\Drupal\Core\Config\StorageInterface $source_storage: Storage object used to read configuration.
\Drupal\Core\Config\StorageInterface $target_storage: Storage object used to write configuration.
File
-
core/
lib/ Drupal/ Core/ Config/ StorageComparer.php, line 109
Class
- StorageComparer
- Defines a config storage comparer.
Namespace
Drupal\Core\ConfigCode
public function __construct(StorageInterface $source_storage, StorageInterface $target_storage) {
if ($source_storage->getCollectionName() !== StorageInterface::DEFAULT_COLLECTION) {
$source_storage = $source_storage->createCollection(StorageInterface::DEFAULT_COLLECTION);
}
if ($target_storage->getCollectionName() !== StorageInterface::DEFAULT_COLLECTION) {
$target_storage = $target_storage->createCollection(StorageInterface::DEFAULT_COLLECTION);
}
$time = \Drupal::hasService(TimeInterface::class) ? \Drupal::service(TimeInterface::class) : new Time();
if ($source_storage instanceof FileStorage) {
// FileStorage has its own static cache so that multiple reads of the
// same raw configuration object are not costly.
$this->sourceCacheStorage = new NullBackend('storage_comparer');
$this->sourceStorage = $source_storage;
}
else {
// Wrap the source storage in a static cache so that multiple reads of the
// same raw configuration object are not costly.
$this->sourceCacheStorage = new MemoryBackend($time);
$this->sourceStorage = new CachedStorage($source_storage, $this->sourceCacheStorage);
}
$this->targetCacheStorage = new MemoryBackend($time);
$this->targetStorage = $target_storage;
$this->changelist[StorageInterface::DEFAULT_COLLECTION] = $this->getEmptyChangelist();
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.