asynchronous-php icon indicating copy to clipboard operation
asynchronous-php copied to clipboard

List of resources for asynchronous programming in PHP

Asynchronous PHP

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.

  • Concepts
    • Asynchronous
    • Blocking
    • Concurrency
    • Coroutines
    • Events
    • Multitasking
    • Observables
    • Promises
    • Reactive Programming
    • Threads
  • Projects
    • amphp
    • appserver.io
    • Async PHP
    • Icicle
    • Kraken
    • phpDaemon
    • React
    • Recoil
    • Swoole
  • Repositories
    • Asynchronous
    • Caching
    • CLI
    • Compression
    • Databases
    • DNS
    • Events
    • Filesystems
    • GUIs
    • HTTP
    • Interoperability
    • IRC
    • Messaging
    • Multitasking
    • Networking
    • Promises
    • Sockets and Streams
    • Web Applications
    • Web Services
  • People

Concepts

Asynchronous

Blocking

Concurrency

Coroutines

Events

Multitasking

Observables

Promises

Reactive Programming

Threads

Projects

amphp

A non-blocking concurrency framework for PHP applications.

appserver.io

A multithreaded application server for PHP, written in PHP.

Async PHP

Icicle

A PHP library for writing asynchronous code using synchronous coding techniques.

Deprecated in favor of Amp v2.

Kraken

PHP framework for creating multi-processed, multi-threaded, fault-tolerant applications using event-driven, message-driven and agent-based architecture.

phpDaemon

Asynchronous server-side framework for network applications implemented in PHP using libevent.

React

Event-driven, non-blocking I/O with PHP.

Recoil

Cooperative multitasking for PHP via coroutines.

Revolt

Swoole

Asynchronous concurrent distributed networking framework for PHP

Repositories

Asynchronous

  • 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
  • spatie/async - Asynchronous and parallel PHP, this library provides a small and easy wrapper around PHP's PCNTL extension. It allows running of different processes in parallel, with an easy-to-use API

Caching

CLI

  • 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
  • php-pm/php-pm - CLI process manager for modern Request-Response PHP Applications - with a builtin load-balancer built on React

Compression

Databases

DNS

Events

Filesystems

GUIs

HTTP

Interoperability

  • kraken-php/loop - Loop implementation for Kraken with a set of React adapters.

IRC

Messaging

Multitasking

Networking

Promises

Sockets and Streams

Web Applications

  • amphp/aerys - A non-blocking HTTP application, WebSocket and file server
  • amphp/aerys-session - Session management for Aerys server
  • bixuehujin/blink - Microframework for building long-running high-performance services
  • clue/php-sse-react - Streaming async HTML5 Server-Sent Events server built on React
  • kraken-php/framework - PHP framework for creating multi-processed, multi-threaded, fault-tolerant applications using event-driven, message-driven and agent-based architecture
  • ratchetphp/Pawl - Asynchronous WebSocket client
  • ratchetphp/Ratchet - Asynchronous WebSocket server
  • reactphp/espresso - Proof-of-concept microframework that integrates Silex with React
  • swoole/swoole-src - Event-based concurrent framework for internet applications in PHP, written in C
  • voryx/Thruway - client and router implementation of the Web Application Messaging Protocol built on React

Web Services

People