<?php namespace Drupal\custom_events\EventSubscriber; use Drupal\Core\Config\ConfigCrudEvent; use Drupal\Core\Config\ConfigEvents; use Drupal\Core\Messenger\MessengerInterface; use Symfony\Component\EventDispatcher\EventSubscriberInterface; /** * Class EntityTypeSubscriber. * * @package Drupal\custom_events\EventSubscriber */ class AnotherConfigEventsSubscriber implements EventSubscriberInterface { /** * Messenger service. * * @var \Drupal\Core\Messenger\MessengerInterface */ protected $messenger; /** * AnotherConfigEventsSubscriber constructor. * * @param \Drupal\Core\Messenger\MessengerInterface $messenger * Messenger service injected during the static create() method. */ public function __construct(MessengerInterface $messenger) { $this->messenger = $messenger; } /** * {@inheritdoc} * * @return array * The event names to listen for, and the methods that should be executed. */ public static function getSubscribedEvents() { return [ ConfigEvents::SAVE => ['configSave', 100], ConfigEvents::DELETE => ['configDelete', -100], ]; } /** * React to a config object being saved. * * @param \Drupal\Core\Config\ConfigCrudEvent $event * Config crud event. */ public function configSave(ConfigCrudEvent $event) { $config = $event->getConfig(); $this->messenger->addStatus(__CLASS__ . ' - Saved config: ' . $config->getName()); } /** * React to a config object being deleted. * * @param \Drupal\Core\Config\ConfigCrudEvent $event * Config crud event. */ public function configDelete(ConfigCrudEvent $event) { $config = $event->getConfig(); $this->messenger->addStatus(__CLASS__ . ' - Deleted config: ' . $config->getName()); } }