{% extends "base/class.php.twig" %} {% block file_path %} \Drupal\{{module}}\{{ class }}. {% endblock %} {% block namespace_class %} namespace Drupal\{{module}}\EventSubscriber; {% endblock %} {% block use_class %} use Symfony\Component\EventDispatcher\EventSubscriberInterface; use Symfony\Component\EventDispatcher\Event; {% endblock %} {% block class_declaration %} /** * Class {{ class }}. */ class {{ class }} implements EventSubscriberInterface {% endblock %} {% block class_construct %} /** * Constructs a new {{ class }} object. */ public function __construct({{ servicesAsParameters(services)|join(', ') }}) { {{ serviceClassInitialization(services) }} } {% endblock %} {% block class_methods %} /** * {@inheritdoc} */ public static function getSubscribedEvents() { {% for event_name, callback in events %} $events['{{ event_name }}'] = ['{{ callback }}']; {% endfor %} return $events; } {% for event_name, callback in events %} /** * This method is called when the {{ event_name }} is dispatched. * * @param \Symfony\Component\EventDispatcher\Event $event * The dispatched event. */ public function {{ callback }}(Event $event) { \Drupal::messenger()->addMessage('Event {{ event_name }} thrown by Subscriber in module {{ module }}.', 'status', TRUE); } {% endfor %} {% endblock %}