Code Coverage |
||||||||||
Classes and Traits |
Functions and Methods |
Lines |
||||||||
Total | |
0.00% |
0 / 1 |
|
0.00% |
0 / 3 |
CRAP | |
0.00% |
0 / 9 |
ConfigSnapshotSubscriber | |
0.00% |
0 / 1 |
|
0.00% |
0 / 3 |
12 | |
0.00% |
0 / 9 |
__construct | |
0.00% |
0 / 1 |
2 | |
0.00% |
0 / 4 |
|||
onConfigImporterImport | |
0.00% |
0 / 1 |
2 | |
0.00% |
0 / 2 |
|||
getSubscribedEvents | |
0.00% |
0 / 1 |
2 | |
0.00% |
0 / 3 |
<?php | |
/** | |
* @file | |
* Contains \Drupal\Core\EventSubscriber\ConfigSnapshotSubscriber. | |
*/ | |
namespace Drupal\Core\EventSubscriber; | |
use Drupal\Core\Config\ConfigEvents; | |
use Drupal\Core\Config\ConfigManagerInterface; | |
use Drupal\Core\Config\StorageInterface; | |
use Drupal\Core\Config\ConfigImporterEvent; | |
use Symfony\Component\EventDispatcher\EventSubscriberInterface; | |
/** | |
* Create a snapshot when config is imported. | |
*/ | |
class ConfigSnapshotSubscriber implements EventSubscriberInterface { | |
/** | |
* The configuration manager. | |
* | |
* @var \Drupal\Core\Config\ConfigManagerInterface | |
*/ | |
protected $configManager; | |
/** | |
* The source storage used to discover configuration changes. | |
* | |
* @var \Drupal\Core\Config\StorageInterface | |
*/ | |
protected $sourceStorage; | |
/** | |
* The snapshot storage used to write configuration changes. | |
* | |
* @var \Drupal\Core\Config\StorageInterface | |
*/ | |
protected $snapshotStorage; | |
/** | |
* Constructs the ConfigSnapshotSubscriber object. | |
* | |
* @param StorageInterface $source_storage | |
* The source storage used to discover configuration changes. | |
* @param StorageInterface $snapshot_storage | |
* The snapshot storage used to write configuration changes. | |
*/ | |
public function __construct(ConfigManagerInterface $config_manager, StorageInterface $source_storage, StorageInterface $snapshot_storage) { | |
$this->configManager = $config_manager; | |
$this->sourceStorage = $source_storage; | |
$this->snapshotStorage = $snapshot_storage; | |
} | |
/** | |
* Creates a config snapshot. | |
* | |
* @param \Drupal\Core\Config\ConfigImporterEvent $event | |
* The Event to process. | |
*/ | |
public function onConfigImporterImport(ConfigImporterEvent $event) { | |
$this->configManager->createSnapshot($this->sourceStorage, $this->snapshotStorage); | |
} | |
/** | |
* Registers the methods in this class that should be listeners. | |
* | |
* @return array | |
* An array of event listener definitions. | |
*/ | |
static function getSubscribedEvents() { | |
$events[ConfigEvents::IMPORT][] = array('onConfigImporterImport', 40); | |
return $events; | |
} | |
} |