A lightweight implementation of CommonJS Promises/A for PHP.
Note
This is a fork of reactphp/promise.
Improvements over original reactphp/promise:
- PHP 8.1+ compatibility
declare(strict_types=1);in all PHP files@yieldannotation in the PromiseInterface
Version 3.x specific:
- Replaces
react/promisev3 in Composer - Rejection handler is reusable now.
error_log()is still used by default. - Removed
exit(255)from RejectionPromise.
Version 2.x specific:
- Replaces
react/promisev2 in Composer - Enhanced type annotations
composer require internal/promiseTo run the test suite, go to the project root and run:
composer testOn top of this, we use PHPStan on max level to ensure type safety across the project:
composer stanThis fork is based on reactphp/promise, which is a port of when.js by Brian Cavalier.
Also, large parts of the documentation have been ported from the when.js Wiki and the API docs.