Reactive programming in PHP con RxPHP

Mattepuffo's logo
Reactive programming in PHP con RxPHP

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!


Condividi

Commentami!