Reactive programming in PHP con RxPHP
RxPHP è una implementazione per PHP di ReactiveX, un API per la programmazione asincrona.
In questo articolo vediamo un esempio del suo utilizzo.
Premetto che su PHP non ho approfondito molto per mancanza di tempo; mi sono solo fatto un'idea.
Prima di tutto installiamo le librerie con composer:
$ composer require react/event-loop reactivex/rxphp
Qui sotto un esempio di codice preso dalla documentazione, ma sistemato (mi dava degli alert sui alcune classi deprecate):
<?php
require_once __DIR__ . '/vendor/autoload.php';
use Rx\Observable;
use React\EventLoop\Loop;
use Rx\Scheduler;
$loop = Loop::get();
try {
Scheduler::setDefaultFactory(function () use ($loop) {
return new Scheduler\EventLoopScheduler($loop);
});
} catch (Exception $e) {
echo $e->getMessage();
}
Observable::interval(500)
->take(10)
->flatMap(function ($i) {
return Observable::of($i + 1);
})
->subscribe(function ($e) {
echo $e, '<br>';
});
$loop->run();
Enjoy!
php composer reactivex rxphp
Commentami!