Software:AMPHP

From HandWiki
AMPHP
Developer(s)Daniel Lowrey, Niklas Keller, Aaron Piotrowski, Bob Weinand
Stable release
3.0.0 / December 2022
Operating systemCross-platform
TypePHP Library
LicenseMIT
Websiteamphp.org

AMPHP is a collection of software libraries using non-blocking I/O to allow for single threaded concurrency in PHP-based applications. Most built-in I/O operations use blocking I/O in PHP with a few exceptions such as streams, which support a non-blocking mode. AMPHP builds on top of these non-blocking streams and reimplements common protocols such as HTTP and DNS in PHP instead of relying on implementations in C.

Asynchronous programming in PHP is mainly used for realtime dashboards, queue systems, and parallel processing.[1]

History

In July 2015, Daniel Lowrey released the initial stable version 1.0.[2] Aaron Piotrowski joined the project in 2016 to increase the number of collaborating developers instead of continuing the work on his own Icicle libraries.[3] Niklas Keller released version 2.0 based on this collaboration in June 2017.[4] These versions rely on generators to implement coroutines.

Aaron Piotrowski and Niklas Keller successfully proposed including fibers into PHP 8.1 natively in 2021.[5][6] In December 2022, they released version 3.0 with coroutines implemented with fibers instead of generators.[7]

References

External links