PluginProbe ʕ •ᴥ•ʔ
Booking for Appointments and Events Calendar – Amelia / trunk
Booking for Appointments and Events Calendar – Amelia vtrunk
2.4.3 2.4.2 2.4.1 2.4 trunk 1.2.1 1.2.10 1.2.11 1.2.12 1.2.13 1.2.14 1.2.15 1.2.16 1.2.17 1.2.18 1.2.19 1.2.2 1.2.20 1.2.21 1.2.22 1.2.23 1.2.24 1.2.25 1.2.26 1.2.27 1.2.28 1.2.29 1.2.3 1.2.30 1.2.31 1.2.32 1.2.33 1.2.34 1.2.35 1.2.36 1.2.37 1.2.38 1.2.4 1.2.5 1.2.6 1.2.7 1.2.8 1.2.9 2.0 2.0.1 2.0.2 2.1 2.1.1 2.1.2 2.1.3 2.2 2.2.1 2.3
ameliabooking / src / Domain / Events / DomainEventBus.php
ameliabooking / src / Domain / Events Last commit date
User 1 year ago DomainEventBus.php 7 years ago
DomainEventBus.php
54 lines
1 <?php
2
3 namespace AmeliaBooking\Domain\Events;
4
5 use League\Event\Emitter;
6
7 /**
8 * Wrapper for the League Event library to keep the domain independent of infrastructure
9 * Class DomainEventBus
10 *
11 * @package AmeliaBooking\Domain\Events
12 */
13 class DomainEventBus
14 {
15 /**
16 * Implementation of event emitter
17 *
18 * @var Emitter $eventEmitter
19 */
20 private $eventEmitter;
21
22 /**
23 * Constructor with injection of event emitter implementation
24 *
25 * @param Emitter $eventEmitter
26 */
27 public function __construct($eventEmitter)
28 {
29 $this->eventEmitter = $eventEmitter;
30 }
31
32 /**
33 * Emitting the event through the Emitter
34 *
35 * @param $eventName
36 * @param $eventParams
37 */
38 public function emit($eventName, $eventParams)
39 {
40 $this->eventEmitter->emit($eventName, $eventParams);
41 }
42
43 /**
44 * Adding an event listener
45 *
46 * @param $eventName
47 * @param $subscriber
48 */
49 public function addListener($eventName, $subscriber)
50 {
51 $this->eventEmitter->addListener($eventName, $subscriber);
52 }
53 }
54