1. Go to this page and download the library: Download jerome/matrix 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/ */
jerome / matrix example snippets
use function Matrix\Support\async;
use function Matrix\Support\await;
use function Matrix\Support\delay;
$value = await(async(fn () => 'ready'));
$later = await(delay(0.1, 'ready later'));
use function Matrix\Support\all;
use function Matrix\Support\async;
use function Matrix\Support\await;
$results = await(all([
'first' => async(fn () => 1),
'second' => 2,
]));
// ['first' => 1, 'second' => 2]
use function Matrix\Support\await;
use function Matrix\Support\map;
$values = await(map(
['a' => 1, 'b' => 2, 'c' => 3],
fn (int $value): int => $value * 2,
concurrency: 2,
));
use function Matrix\Support\async;
use function Matrix\Support\await;
use function Matrix\Support\retry;
use function Matrix\Support\timeout;
$result = await(timeout(
retry(fn () => async(fn () => fetchNonBlockingData()), 3),
5.0,
));
use function Matrix\Support\cancellable;
use function Matrix\Support\delay;
$operation = cancellable(delay(30), fn () => releaseResources());
$operation->cancel();
use function Matrix\Support\await;
use function Matrix\Support\rateLimit;
$limited = rateLimit(fn (string $url) => fetchNonBlocking($url), 2, 1.0);
$response = await($limited('https://example.com'));
use function Matrix\Support\listen;
listen('promise.rejected', static function ($event): void {
error_log($event->getErrorClass().': '.$event->getErrorMessage());
});
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.