Download the PHP package mitch/event-dispatcher without Composer
On this page you can find all versions of the php package mitch/event-dispatcher. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download mitch/event-dispatcher
More information about mitch/event-dispatcher
Files in mitch/event-dispatcher
Package event-dispatcher
Short Description Event Dispatcher with a focus on Domain Events
License MIT
Informations about the package event-dispatcher
Event Dispatcher
This repository has been moved to Big Name. There won't be any support here. Visit Big Name's repository for the newest updates.
An Event Dispatcher built with a focus on Domain Events.
Installation
Begin by installing the package through Composer. Edit your project's composer.json
file to require mitch/event-dispatcher
.
Next use Composer to update your project from the the Terminal:
Once the package has been installed you'll need to add the service provider. Open your app/config/app.php
configuration file, and add a new item to the providers
array.
How It Works
Event
In your domain you'll create an event, for let's say when a new user has been added.
Lets call this event UserCreatedEvent
. This event will hold the necessary information for the listener to fulfill it's job.
You have complete freedom about which arguments it takes, since you'll be the one passing them in.
In some ways this event is a Date Transfer Object
(DTO).
For example:
Listener
An event without a listener does no good for us, so lets create an email listener MailNewlyCreatedUserListener
for the event UserCreatedEvent
.
Same rule with the listeners as the events, you have complete freedom with the arguments.
When an event is dispatched the handle
method on the correct listeners will be called.
Listening
Now we got the building blocks ready lets start listening for some new users, shall we. For the sake of this example, the code is kept as simple as possible.
Dispatching multiple
For extra hipster points you can dispatch multiple events in 1 call.
That's it!
Later tater