EventSubscriber.php in Zircon Profile 8
File
core/modules/config/tests/config_events_test/src/EventSubscriber.php
View source
<?php
namespace Drupal\config_events_test;
use Drupal\Core\Config\ConfigCrudEvent;
use Drupal\Core\Config\ConfigEvents;
use Drupal\Core\State\StateInterface;
use Symfony\Component\EventDispatcher\EventSubscriberInterface;
class EventSubscriber implements EventSubscriberInterface {
protected $state;
public function __construct(StateInterface $state) {
$this->state = $state;
}
public function configEventRecorder(ConfigCrudEvent $event, $name) {
$config = $event
->getConfig();
$this->state
->set('config_events_test.event', array(
'event_name' => $name,
'current_config_data' => $config
->get(),
'original_config_data' => $config
->getOriginal(),
'raw_config_data' => $config
->getRawData(),
));
}
static function getSubscribedEvents() {
$events[ConfigEvents::SAVE][] = array(
'configEventRecorder',
);
$events[ConfigEvents::DELETE][] = array(
'configEventRecorder',
);
$events[ConfigEvents::RENAME][] = array(
'configEventRecorder',
);
return $events;
}
}