1.2 KiB
layout | title | permalink |
---|---|---|
docs | Introduction | / |
Amp is a non-blocking concurrency framework for PHP. It provides an event loop, promises and streams as a base for asynchronous programming.
Promises in combination with generators are used to build coroutines, which allow writing asynchronous code just like synchronous code, without any callbacks.
Installation
composer require amphp/amp
Preamble
The weak link when managing concurrency is humans; we simply don't think asynchronously or in parallel. Instead, we're really good at doing one thing at a time and the world around us generally fits this model. So to effectively design for concurrent processing in our code we have a couple of options:
- Get smarter (not feasible);
- Abstract concurrent task execution to make it feel synchronous.
Contents
Amp provides an event loop, promises and asynchronous iterators as building blocks for (fully) asynchronous libraries and applications. Coroutines make asynchronous code feel as synchronous as synchronous code.
Start with the Introduction to Event Loops.