Over time, I've noticed a lot of interesting information, code, and people centered around topics related to asynchronous programming using PHP. I thought it might be useful to try to catalog them all in one place. This repository is the result and fairly experimental in concept. Feel free to file an issue or submit a pull request if you think there's anything that should be added or changed.
- Asynchronous I/O - Wikipedia
- Async PHP by Christopher Pitt / assertchris
- Cooperative multitasking with generators by Christopher Pitt / assertchris
- Cooperative multitasking using coroutines (in PHP!) by Nikita Popov / nikic
- Coroutine - Wikipedia
- Reactive programming - Wikipedia
- The introduction to Reactive Programming you've been missing by André Staltz / staltz
Asynchronous PHP using promises and coroutines
Event-driven, non-blocking I/O with PHP
Cooperative multitasking for PHP via coroutines
- asm89/Rx.PHP - Libraries to compose asynchronous and event-based programs using observable collections and LINQ-style query operators
- clue/php-block-react - Lightweight library that eases integrating async components built for React in a traditional blocking environment
- icicleio/icicle - Library for writing asynchronous code using synchronous coding techniques
- amphp/cache - A promise-aware caching API built on amp
- amphp/redis - An async redis client built on amp
- asyncphp/icicle-cache - A simple cache library, built for Icicle, with anti-stampede and promises
- clue/php-redis-react - Async Redis client implementation built on React
- clue/php-redis-server - A redis server implementation in pure PHP
- nrk/predis-async - Asynchronous Redis client library built on React
- reactphp/cache - React async caching
- clue/php-bitbake-react - Programmatically control your bitbake build shell built on React
- clue/php-readline-react - Experimental reactive binding for ext-readline, built on React
- clue/php-shell-react - Run async commands within any interactive shell command built on React
- clue/php-stdio-react - Async event-driven and UTF-8 aware standard console input & output for React
- clue/php-tar-react - Async streaming parser for the TAR file format built on React
- clue/php-zlib-react - Streaming zlib compressor and decompressor built on React
- amphp/mysql - An async mysql client built on amp
- amphp/pgsql - A non-blocking PostgreSQL library built on amp
- recoilphp/database - Asynchronous PDO for Recoil
- asyncphp/remit - Distributed event emitter
- icicleio/event-emitter - Library that allows objects to emit events that invoke a set of registered callbacks
- icicleio/react-adapter - Adapts the event loop and promises of Icicle to interfaces compatible with React
- recoilphp/event-emitter - A coroutine-based event emitter
- reactphp/event-loop - React's core reactor event-loop
- amphp/file - An async filesystem library built on amp
- icicleio/filesystem - Asynchronous file access for Icicle
- reactphp/filesystem - Evented filesystem access
- clue/php-zenity-react - Build graphical desktop (GUI) applications in PHP
- amphp/artax - An async HTTP/1.1 client built on amp
- clue/php-buzz-react - Simple async HTTP client for concurrently processing requests built on React
- icicleio/http - HTTP component for Icicle
- icicleio/psr7-bridge - PSR-7 Bridge for Icicle HTTP component
- reactphp/http - React HTTP server
- reactphp/http-client - Asynchronous HTTP client library
- clue/php-quassel-react - Streaming event-driven access to your Quassel IRC core built on React
- phergie/phergie-irc-bot-react - IRC bot built on React
- reactphp/stomp - STOMP bindings for React
- reactphp/zmq - ZeroMQ bindings for React
- recoilphp/amqp - An asynchronous AMQP client for React and Recoil
- amphp/amp - A non-blocking concurrency framework for PHP applications
- amphp/process - An async process dispatcher built on amp
- amphp/thread - An async multi-threaded task dispatcher built on amp
- asyncphp/assistant - A neat wrapper around multi-process abstractions and distributed event emitters
- asyncphp/doorman - Child process management
- icicleio/concurrent - Concurrency component for Icicle
- reactphp/child-process - Library for executing child processes
- recoilphp/recoil - Cooperative multitasking for PHP via coroutines
- amphp/socket - Non-blocking socket and TLS functionality built on amp
- amphp/dns - Async DNS resolution built on amp
- clue/php-ami-react - Simple async event-driven access to the Asterisk Manager Interface (AMI) built on React
- clue/php-icmp-react - Simple async low-level ICMP (ping) messaging library built on React
- clue/php-mdns-react - Simple async multicast DNS (mDNS) resolver built on React
- clue/php-multicast-react - Simple multicast UDP messages built on React
- clue/php-socket-react - Binding for raw sockets (ext-sockets) in React
- clue/php-ssdp-react - Async Simple Service Discovery Protocol (SSDP) built on React
- clue/php-solusvm-api-react - Simple async access to your VPS box through the SolusVM API built on React
- clue/php-socks-react - Async SOCKS TCP tunnel proxy client and server built on React
- clue/php-wake-on-lan-react - Turn on your PC with Wake-On-LAN requests via React
- icicleio/dns - Asynchronous DNS component for Icicle
- icicleio/socket - Asynchronous stream socket server and client for Icicle
- icicleio/stream - Coroutine-based asynchronous stream interfaces for Icicle
- reactphp/datagram - UDP client and server sockets for React
- reactphp/dns - Asynchronous DNS resolver
- reactphp/socket - Asynchronous socket server
- reactphp/socket-client - Async connector to open TCP/IP and SSL/TLS based connections
- reactphp/stream - Asynchronous OO stream wrapper
- reactphp/whois - Whois client based on React
- umpirsky/wisdom - Domain availability checker
- guzzle/promises - Promises/A+ library for PHP with synchronous support
- icicleio/react-adapter - Adapts the event loop and promises of Icicle to interfaces compatible with React
- reactphp/promise - A lightweight implementation of CommonJS Promises/A for PHP
- reactphp/promise-timer - Timeout implementation for the React promises library
- amphp/aerys - A non-blocking HTTP application, WebSocket and file server
- amphp/aerys-session - Session management for Aerys server
- clue/php-sse-react - Streaming async HTML5 Server-Sent Events server built on React
- ratchetphp/Pawl - Asynchronous WebSocket client
- ratchetphp/Ratchet - Asynchronous WebSocket server
- reactphp/espresso - Proof-of-concept microframework that integrates Silex with React
- voryx/Thruway - client and router implementation of the Web Application Messaging Protocol built on React
- clue/php-packagist-api-react - Simple async access to packagist.org's API
- clue/php-viewvc-api-react - Simple async API-like access to your ViewVC web interface built on React
- clue/php-soap-react - A simple async SOAP webservice client built on React
- bergie/dnode-php - DNode RPC protocol implementation