MediaWiki master
MediaWiki\DomainEvent\DomainEventSource Interface Reference

Service object for registering listeners for domain events. More...

Inherited by MediaWiki\DomainEvent\EventDispatchEngine.

Public Member Functions

 registerListener (string $eventType, $listener, array $options=self::DEFAULT_LISTENER_OPTIONS)
 Add a listener that will be notified on events of the given type, triggered by a change to an entity on the local wiki.
 
 registerSubscriber ( $subscriber)
 Register the given subscriber to this event source.
 

Public Attributes

const DEFAULT_LISTENER_OPTIONS = []
 Default options to apply when registering listeners.
 

Detailed Description

Service object for registering listeners for domain events.

Since
1.44
See also
docs/Events.md
https://www.mediawiki.org/wiki/Manual:Domain_events

Definition at line 12 of file DomainEventSource.php.

Member Function Documentation

◆ registerListener()

MediaWiki\DomainEvent\DomainEventSource::registerListener ( string $eventType,
$listener,
array $options = self::DEFAULT_LISTENER_OPTIONS )

Add a listener that will be notified on events of the given type, triggered by a change to an entity on the local wiki.

Listeners will be invoked after the transaction that produced the event was committed successfully. Delivery guarantees depend on the respective DomainEventDispatcher implementation.

In a web request, listeners should be invoked after the response has been sent to the client, but still within the current process.

Listeners may be invoked immediately if there is no active transaction round associated with the ConnectionProvider passed to DomainEventDispatcher::dispatch().

Listeners should be implemented to be idempotent, that is, calling them multiple times with the same parameters should produce the same outcome.

Parameters
string$eventType
callable$listener
array$optionsCurrently unused. In the future, $options may
  • convey things like the listener priority or error handling.

Implemented in MediaWiki\DomainEvent\EventDispatchEngine.

◆ registerSubscriber()

MediaWiki\DomainEvent\DomainEventSource::registerSubscriber ( $subscriber)

Register the given subscriber to this event source.

A subscriber is a way to bundle related listeners, typically by implementing them as methods on the subscriber object.

If the subscriber is supplied as a spec array, instantiation and application may be deferred until one of the relevant events is triggered.

Parameters
DomainEventSubscriber | array$subscriber
  • object: a DomainEventSubscriber
  • array: An object spec suitable for use with ObjectFactory. The array must use the key 'events' to specify which events will trigger application of the subscriber.

Implemented in MediaWiki\DomainEvent\EventDispatchEngine.

Referenced by MediaWiki\Registration\ExtensionRegistry\registerListeners().

Member Data Documentation

◆ DEFAULT_LISTENER_OPTIONS

const MediaWiki\DomainEvent\DomainEventSource::DEFAULT_LISTENER_OPTIONS = []

Default options to apply when registering listeners.

In the future, options may convey things like the listener priority or error handling.

Definition at line 19 of file DomainEventSource.php.


The documentation for this interface was generated from the following file: