• Stars
    star
    230
  • Rank 173,534 (Top 4 %)
  • Language
  • License
    Creative Commons ...
  • Created almost 4 years ago
  • Updated 4 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

๐Ÿ’Ž A curated list of awesome things related to Swoole.

Awesome Swoole Twitter Discord license

A curated list of awesome things related to Swoole.

Swoole Logo

Table of Contents

NOTE: Projects labelled with emoji ๐ŸŒ have their documentation written in non-English languages.

Architectural

Libraries related to design patterns, programming approaches and ways to organize code.

Client Packages

Cronjobs

  • hyperf/crontab - The cron component of Hyperf, allowing jobs to run at intervals of seconds.
  • osgochina/swoole-crontab - A Swoole-based crontab schedule. It allows jobs to run at intervals of seconds, and is fully compatible with crontab syntax. ๐ŸŒ

Database

Debugging and Profiling

  • Blackfire - A low-overhead code profiler.
  • SkyAPM PHP - The PHP instrument agent for Apache SkyWalking.
  • Swoole Tracker - An online service to track and analyze the performances of PHP/Swoole applications. Key features include memory leak detection, performance analytics, and runtime stats. Chinese version only. ๐ŸŒ
  • swoole/debugger - A remote debugger of Swoole. By adding one-line of code, you can debug your application remotely using a rich list of commands. ๐ŸŒ
  • Xdebug - A debug and profile tool for PHP. Xdebug 3.1.0+ works with Swoole 5.0.2+ on PHP 8.1+ only. Lower versions of Xdebug don't work with Swoole.
  • yasd - Yet Another Swoole Debugger, developed by codinghuang from the Swoole team. It's no longer actively maintained, and only works with lower versions of Swoole (Swoole < 5.0) and PHP (PHP <= 8.0). Please use Xdebug instead for latest versions of Swoole and PHP.

Development Environment

  • Docker
    • adhocore/lemp - A single container LEMP complete fullstack with latest releases of PHP (7.4 - 8.2) and MySQL, nginx, PostgreSQL, phalcon, swoole, mailcatcher, beanstalkd, elasticsearch, memcached, redis, adminer and all you ever need.
    • phpswoole/swoole - Official Docker image of Swoole.
  • IDE Helper

Distribution

  • shivammathur/extensions - ๐Ÿป Homebrew tap for PHP extensions.
  • static-php-cli - Build static PHP binary in Linux, with Swoole and other popular extensions included. ๐ŸŒ
  • swoole-cli - A prebuilt executable to run Swoole applications directly. No PHP installation required (just download and use it). Support Linux, macOS, and Windows. ๐ŸŒ

Frameworks

Framework Integration

To run PHP/PHP-FPM frameworks using Swoole.

  • PHP Runtimes - A home for runtimes, where people can easily create a Runtime to run an application with Bref, Swoole or ReactPHP without making any change to the application itself.
  • Drupal
    • The Swoole module for Drupal - The Swoole module for Drupal supercharges your website's performance by serving it via the Swoole or the OpenSwoole PHP server. The (Open)Swoole PHP server boots Drupal once, keeps it in memory and then feeds it requests at supersonic speeds. Thanks to daffie.
  • Laravel
    • Laravel Octane - A first-party Laravel package that supercharges laravelish application's performance by serving it using Swoole high-performance HTTP servers. Developed and maintained by the Laravel team.
    • hhxsv5/laravel-s - An out-of-the-box adapter between Laravel/Lumen and Swoole.
    • huang-yi/shadowfax - Runs your Laravel application on Swoole.
    • scil/laravel-fly - To be an absolutely safe solution to speed up Laravel with Swoole. Preloading + Coroutine and Tinker Online.
    • swooletw/laravel-swoole - A high-performance HTTP server to run Laravel/Lumen application on top of Swoole.
    • toxmc/fast-laravel - A Swoole-based high-performance HTTP server to speed up your Laravel applications. ๐ŸŒ
  • Phalcon
  • Slim
  • Symfony
    • pixelfederation/swoole-bundle - Symfony integration with Open Swoole to speed up your applications.
    • symfony/runtime - The Runtime component decouples the bootstrapping logic from any global state to make sure the application can run with runtimes like PHP-FPM, ReactPHP, Swoole, etc. without any changes. For a more generic implementation that works with other frameworks/environments, please check project PHP Runtimes.
  • ThinkPHP
  • Yii
  • Utopia
    • Utopia Swoole - An extension for Utopia Framework to work with PHP Swoole as a PHP FPM alternative.

gRPC

  • hyperf/grpc-client - The gRPC client component of Hyperf.
  • hyperf/grpc-server - The gRPC server component of Hyperf.
  • mix/grpc - A gRPC implementation based on Swoole. Protoc code generator, server, client, and more features included. ๐ŸŒ
  • swoole/grpc - An efficient Swoole-based gRPC client. ๐ŸŒ

HTTP and WebSocket

Libraries for working with HTTP and WebSocket.

  • PSR Compliance
  • Saber - A coroutine-based HTTP client. ๐ŸŒ
  • Yurunsoft/Guzzle-Swoole - Make the Guzzle library coroutine-friendly in Swoole. It works with many Guzzle-based packages and Swoole-based frameworks. ๐ŸŒ
  • Yurunsoft/YurunHttp - An easy-to-use HTTP client that works with HTTP/1, HTTP/2, and WebSocket protocols. It also supports chained operations, concurrent processing, and connection pool. ๐ŸŒ
  • Utopia WebSocket - A simple and lite abstraction layer around a WebSocket server. This library is aiming to be as simple and easy to learn and use.

Logging

Serverless

SOA governance

Tasks and Queues

  • Archer - A Swoole-based task component, with different runtime modes supported: serial queue, concurrent queue, defer, timer, etc. ๐ŸŒ
  • hyperf/amqp - The AMQP client of Hyperf.
  • hyperf/async-queue - The Redis-based asynchronous queue component of Hyperf.
  • hyperf/task - The task component of Hyperf, providing an easy way to add and dispatch tasks to task workers in Swoole.
  • kcloze/swoole-jobs - An efficient Swoole-based job queue system. ๐ŸŒ
  • littlesqx/aint-queue - An async-queue library built on top of Swoole.
  • longlang/phpkafka - A coroutine-based Kafka client.

Testing

  • deminy/counit - To run time/IO related unit tests (e.g., sleep function calls, database queries, API calls, etc) faster using Swoole.

Third-party SDK

Web Applications

Web-based applications and tools.

  • HyperfAdmin - An administration panel built with Swoole, Hyperf, and Vue.js. ๐ŸŒ
  • MineAdmin - An administration panel built with Swoole, Hyperf, and Vue 3. ๐ŸŒ
  • wopits - A world of post-its - An app for managing projects online using sticky notes to share and collaborate. It uses Swoole as a WebSocket & Task server.
  • yurun-crawler - A framework to build high-performance, distributed web crawler. ๐ŸŒ
  • zhamao-framework - A chatbot system based on an award-winning project in China. ๐ŸŒ

Miscellaneous

  • crowdstar/exponential-backoff - A library to prevent overloading an unavailable service by doubling the timeout each iteration. It works under both Swoole (in non-blocking mode) and PHP-FPM.
  • hhxsv5/php-sse - A simple and efficient library implemented HTML5's server-sent events using PHP.
  • k8s/client - A Kubernetes API client for PHP.
  • leocavalcante/swoole-futures - Futures + Async/Await for PHP's Swoole asynchronous run-time.
  • leocavalcante/swoole-mutex - Mutual exclusion abstractions for PHP's Swoole concurrency run-time.
  • mix/sync-invoke - A library to execute synchronous blocking code without blocking the running process in Swoole. ๐ŸŒ
  • Shlink Event Dispatcher - Event dispatching using PSR-14, with async event listener that are executed in swoole task system.
  • xlswriter - A coroutine-friendly PHP Extension to create and read XLSX files.
  • swoole-utils - A collection of utilities for building concurrent applications with Swoole. #WIP

Resources

Swoole Books

Fantastic Swoole-related books.

Swoole Videos

Fantastic Swoole-related videos.

Miscellaneous

Alternatives

  • Open Swoole - A fork of Swoole that is maintained by the Open Swoole team.

More Repositories

1

swoole-src

๐Ÿš€ Coroutine-based concurrency library for PHP
C++
18,406
star
2

phpx

๐Ÿ’— C++ wrapper for Zend API
C++
823
star
3

php-cp

pdo and redis tcp connect proxy
C
639
star
4

docker-swoole

๐Ÿ„ Official Docker Image of Swoole
Dockerfile
499
star
5

ide-helper

๐Ÿ“˜ Swoole IDE Helper
PHP
469
star
6

yasd

Yet Another Swoole Debugger
PHP
356
star
7

swoole-wiki

๐Ÿ“–Swooleๅ…จ้‡Markdownๆ–‡ๆกฃ, Swoole-Doc, Swoole-Wiki
Shell
270
star
8

phpkafka

PHP Kafka client is used in PHP-FPM and Swoole. PHP Kafka client supports 50 APIs, which might be one that supports the most message types ever.
PHP
266
star
9

library

๐Ÿ“š Swoole Library
PHP
221
star
10

grpc

๐Ÿ’Ž Grpc client based on Swoole Coroutine
PHP
199
star
11

ext-zookeeper

๐Ÿง‘ Coroutine-based ZooKeeper Client for PHP
C
150
star
12

swoole-cli

SWOOLE-CLI is a php binary distribution composed swoole & php-core & cli & fpm and mostly of common extensions.
C
119
star
13

community-chinese

Swoole ๆๆกˆ
117
star
14

thrift-rpc-server

Thrift RPC Server based on swoole
PHP
115
star
15

auto_reload

Inotify็›‘ๆŽงๆ–‡ไปถๅ˜ๆ›ด่‡ชๅŠจ้‡ๅฏswoole_server
PHP
105
star
16

ext-serialize

the fastest serialize function bound for php7
C
93
star
17

ext-async

Asynchronous callback client
PHP
87
star
18

proxy-server

Full asynchronous proxy server can support over a large number of concurrent.
PHP
84
star
19

debugger

Swoole ่ฟœ็จ‹่ฐƒ่ฏ•ๅ™จ
PHP
79
star
20

ext-postgresql

๐Ÿ˜ Coroutine-based client for PostgreSQL
C++
64
star
21

swoole-docs

๐Ÿ“— Please check the latest version: https://www.swoole.co.uk/docs/
61
star
22

phpy

PHP
43
star
23

zmq

ZeroMQ bindings for Swoole
PHP
37
star
24

dashboard

Vue
22
star
25

php-docker

php docker file
Dockerfile
20
star
26

docs

PHP
10
star
27

benchmark

PHP
9
star
28

make-library

Convert PHP code to C/C++ header file
PHP
6
star
29

documents

2
star
30

swoole.github.io

Swoole's website, docs & blog mainly focused on the english-speaking community.
CSS
2
star
31

v4.4-lts

C++
1
star
32

golang-h2demo

Go
1
star