EventEmitter Component
[
]
(https://github.com/ThrusterIO/event-emitter/releases)
[
]
(LICENSE)
[
]
(https://travis-ci.org/ThrusterIO/event-emitter)
[
]
(https://scrutinizer-ci.com/g/ThrusterIO/event-emitter)
[
]
(https://scrutinizer-ci.com/g/ThrusterIO/event-emitter)
[
]
(https://packagist.org/packages/thruster/event-emitter), (*1)
[
]
(mailto:team@thruster.io), (*2)
The Thruster EventEmitter Component., (*3)
Install
Via Composer, (*4)
``` bash
$ composer require thruster/event-emitter, (*5)
## Usage
### Creating an Emitter
```php
$emitter = new EventEmitter();
Adding Listeners
$emitter->on('foo.bar', function (Foo $bar) {
// ... Something happend
});
Emitting Events
$emitter->emit('foo.bar', [$fooBar]);
Using Advance Event Emitter
```php
$emitter = new AdvanceEventEmitter();, (*6)
$emitter->on('foo.bar', function (EventInterface $event) {
// ... Do something good, (*7)
$event->stopPropagation(); // you can stop further execution
});, (*8)
$emitter->on('foo.bar', function (EventInterface $event) {
// ... Never gets called
});, (*9)
$emitter->emit('foo.bar', new Event($fooBar));, (*10)
## Testing
``` bash
$ composer test
Contributing
Please see CONTRIBUTING and CONDUCT for details., (*11)
License
Please see License File for more information., (*12)