ConfigSubscriber.php
Same filename in this branch
Same filename in other branches
- 9 core/modules/language/src/EventSubscriber/ConfigSubscriber.php
- 9 core/modules/config/src/ConfigSubscriber.php
- 8.9.x core/modules/language/src/EventSubscriber/ConfigSubscriber.php
- 8.9.x core/modules/config/src/ConfigSubscriber.php
- 11.x core/modules/language/src/EventSubscriber/ConfigSubscriber.php
- 11.x core/modules/config/src/ConfigSubscriber.php
Namespace
Drupal\configFile
-
core/
modules/ config/ src/ ConfigSubscriber.php
View source
<?php
namespace Drupal\config;
use Drupal\Core\Config\ConfigEvents;
use Drupal\Core\Config\ConfigImporterEvent;
use Drupal\Core\Config\ConfigImportValidateEventSubscriberBase;
/**
* Config subscriber.
*/
class ConfigSubscriber extends ConfigImportValidateEventSubscriberBase {
/**
* Checks that the Configuration module is not being uninstalled.
*
* @param \Drupal\Core\Config\ConfigImporterEvent $event
* The config import event.
*/
public function onConfigImporterValidate(ConfigImporterEvent $event) {
// Make sure config syncs performed via the Config UI don't break, but
// don't worry about syncs initiated via the command line.
if (PHP_SAPI === 'cli') {
return;
}
$importer = $event->getConfigImporter();
$core_extension = $importer->getStorageComparer()
->getSourceStorage()
->read('core.extension');
if (!isset($core_extension['module']['config'])) {
$importer->logError($this->t('Can not uninstall the Configuration module as part of a configuration synchronization through the user interface.'));
}
}
/**
* {@inheritdoc}
*/
public static function getSubscribedEvents() : array {
$events[ConfigEvents::IMPORT_VALIDATE][] = [
'onConfigImporterValidate',
20,
];
return $events;
}
}
Classes
Title | Deprecated | Summary |
---|---|---|
ConfigSubscriber | Config subscriber. |
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.