PHPackages                             leeshan87/reactphp-multi-loop - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Testing &amp; Quality](/categories/testing)
4. /
5. leeshan87/reactphp-multi-loop

ActiveLibrary[Testing &amp; Quality](/categories/testing)

leeshan87/reactphp-multi-loop
=============================

Manage multiple LoopInterfaces easily when writing tests.

0.1.0(4y ago)05.5k↓56.7%1MITPHPPHP &gt;=5.5

Since Aug 5Pushed 2y ago1 watchersCompare

[ Source](https://github.com/LeeShan87/reactphp-multi-loop)[ Packagist](https://packagist.org/packages/leeshan87/reactphp-multi-loop)[ Docs](https://github.com/leeshan87/reactphp-multi-loop)[ Fund](https://www.buymeacoffee.com/LeeShan87)[ Patreon](https://www.patreon.com/leeshan)[ RSS](/packages/leeshan87-reactphp-multi-loop/feed)WikiDiscussions main Synced yesterday

READMEChangelog (1)Dependencies (2)Versions (2)Used By (1)

LeeShan87/reactphp-multi-loop
=============================

[](#leeshan87reactphp-multi-loop)

[![CI status](https://github.com/LeeShan87/reactphp-multi-loop/workflows/CI/badge.svg)](https://github.com/LeeShan87/reactphp-multi-loop/actions)[![installs on Packagist](https://camo.githubusercontent.com/dd74f00aa9608414a0f376f66d72946b3c1eece405280e85e57b1f67f438b3ff/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f6c65657368616e38372f72656163747068702d6d756c74692d6c6f6f703f636f6c6f723d626c7565266c6162656c3d696e7374616c6c732532306f6e2532305061636b6167697374)](https://packagist.org/packages/LeeShan87/reactphp-multi-loop)

Manage multiple LoopInterfaces easily when writing tests.

Quickstart example
------------------

[](#quickstart-example)

```
$loop1 = Factory::create();
$loop1->futureTick(function(){
    echo 'hello ';
});
MultiLoop::addLoop($loop1, 'loop1');
$loop2 = Factory::create();
$loop2->futureTick(function (){
    echo 'world!';
});
MultiLoop::addLoop($loop1, 'loop2');
MultiLoop::tickAll();
```

Install
-------

[](#install)

The recommended way to install this library is [through Composer](https://getcomposer.org). [New to Composer?](https://getcomposer.org/doc/00-intro.md)

This will install the latest supported version:

```
$ composer require leeshan87/reactphp-multi-loop:^0.1
```

See also the [CHANGELOG](CHANGELOG.md) for details about version upgrades.

This project aims to run on any platform and thus does not require any PHP extensions and supports running on legacy PHP 5.3 through current PHP 8+. It's *highly recommended to use PHP 7+* for this project.

Tests
-----

[](#tests)

To run the test suite, you first need to clone this repo and then install all dependencies [through Composer](https://getcomposer.org):

```
$ composer install
```

To run the test suite, go to the project root and run:

```
$ php vendor/bin/phpunit
```

License
-------

[](#license)

MIT

###  Health Score

24

—

LowBetter than 31% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity22

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity36

Early-stage or recently created project

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

1793d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/6040606?v=4)[Zoltan Toma](/maintainers/leeshan87)[@LeeShan87](https://github.com/LeeShan87)

---

Top Contributors

[![LeeShan87](https://avatars.githubusercontent.com/u/6040606?v=4)](https://github.com/LeeShan87 "LeeShan87 (3 commits)")

---

Tags

asyncmultiloopreactphptestingasynctestreactphpmultiLoop

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/leeshan87-reactphp-multi-loop/health.svg)

```
[![Health](https://phpackages.com/badges/leeshan87-reactphp-multi-loop/health.svg)](https://phpackages.com/packages/leeshan87-reactphp-multi-loop)
```

###  Alternatives

[mockery/mockery

Mockery is a simple yet flexible PHP mock object framework

10.7k526.2M26.9k](/packages/mockery-mockery)[hamcrest/hamcrest-php

This is the PHP port of Hamcrest Matchers

7.0k513.4M122](/packages/hamcrest-hamcrest-php)[nelmio/alice

Expressive fixtures generator

2.5k45.2M166](/packages/nelmio-alice)[react/socket

Async, streaming plaintext TCP/IP and secure TLS socket server and client connections for ReactPHP

1.3k135.6M459](/packages/react-socket)[react/dns

Async DNS resolver for ReactPHP

537133.1M104](/packages/react-dns)[react/http

Event-driven, streaming HTTP client and server implementation for ReactPHP

78127.7M466](/packages/react-http)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
