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
- Thread (computing) - Wikipedia
- Thread carefully by Maxime Fabre
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
- amphp/dns - Async DNS resolution built on amp
- clue/php-mdns-react - Simple async multicast DNS (mDNS) resolver built on React
- icicleio/dns - Asynchronous DNS component for Icicle
- reactphp/dns - Asynchronous DNS resolver
- 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
- WyriHaximus/reactphp-filesystem-s3 - AWS S3 adapter for reactphp/filesystem
- 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
- WyriHaximus/react-guzzle-psr7 - React HTTP client adapter for Guzzle 6
- WyriHaximus/ReactGuzzleRing - React HTTP client wrapper for Guzzle 5
- WyriHaximus/ReactGuzzle - React HTTP client wrapper for Guzzle 4
- 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
- WyriHaximus/reactphp-child-process-messenger - Plain messages and RPC style STDIN/OUT/ERR wrapper around react/child-process
- WyriHaximus/reactphp-child-process-pool - Pool implementation for WyriHaximus/reactphp-child-process-messenger
- 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-multicast-react - Simple multicast UDP messages built on 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
- reactphp/datagram - UDP client and server sockets for React
- reactphp/whois - Whois client based on React
- umpirsky/wisdom - Domain availability checker
- WyriHaximus/PhuninNode - munin-node port aiming to provide application monitoring utilizing munin
- 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/socket - Non-blocking socket and TLS functionality built on amp
- clue/php-socket-react - Binding for raw sockets (ext-sockets) in React
- icicleio/socket - Asynchronous stream socket server and client for Icicle
- icicleio/stream - Coroutine-based asynchronous stream interfaces for Icicle
- 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
- WyriHaximus/reactphp-psr7-stream-converter - PSR-7 to React stream converter and vice versa
- 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