1. Go to this page and download the library: Download decodelabs/eventful 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/ */
decodelabs / eventful example snippets
use DecodeLabs\Deliverance;
use DecodeLabs\Eventful\Factory;
$broker = Deliverance::newCliBroker();
$eventLoop = Factory::newDispatcher()
// Run every 2 seconds
->bindTimer('timer1', 2, function() use($broker) {
$broker->writeLine('Timer 1');
})
// Listen for reads, but frozen - won't activate until unfrozen
->bindStreamReadFrozen($input = $broker->getFirstInputReceiver(), function() use($broker) {
$broker->writeLine('You said: '.$broker->readLine());
})
// Run once after 1 second
->bindTimerOnce('timer2', 1, function($binding) use($broker, $input) {
$broker->writeLine('Timer 2');
// Unfreeze io reads
$binding->eventLoop->unfreeze($intput);
})
// Check if we want to bail every second
->setCycleHandler(function(int $cycles) {
if($cycles > 10) {
return false;
}
});
/*
Outputs something like:
Timer 2
Timer 1
Timer 1
You said: Hello world
Timer 1
*/
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.