1. Go to this page and download the library: Download webino/event-emitter library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
use Webino\EventEmitter;
$emitter = new EventEmitter;
$handler = function () {
return 'Hello';
};
$emitter->on('example', $handler);
// remove handler for all events
$emitter->off($handler);
// remove all handlers for an event
$emitter->off(null, 'example');
// remove all handlers for all events
$emitter->off();
use Webino\EventEmitter;
$emitter = new EventEmitter;
$emitter->on('example', function () {
return 'Special';
});
$event = $emitter->emit('example', function ($result) {
// when result meets
use Webino\EventEmitter;
$emitter = new EventEmitter;
$emitter->on('example', function () {
return 'Begin';
}, $event::BEGIN);
$emitter->on('example', function () {
return 'Before';
}, $event::BEFORE);
$emitter->on('example', function (Event $event) {
return 'Main';
}, $event::MAIN);
$emitter->on('example', function () {
return 'After';
}, $event::AFTER);
$emitter->on('example', function () {
return 'Finish';
}, $event::FINISH);
// emitting custom event
$event = $emitter->emit('example');
/** @var \Webino\EventResults $results */
$results = $event->getResults();
echo $results;
// => BeginBeforeMainAfterFinish
use Webino\EventEmitter;
use Webino\EventHandlerInterface;
use Webino\EventHandlerTrait;
class ExampleEventHandler implements EventHandlerInterface
{
use EventHandlerTrait;
protected function initEvents(): void
{
$this->on('example', function () {
return 'Foo';
});
$this->on('example', function () {
return 'Bar';
});
}
}
// emitting custom event
$event = $emitter->emit('example');
/** @var \Webino\EventResults $results */
$results = $event->getResults();
echo $results;
// => FooBar
bash
composer analyse
bash
composer fix
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.