PHPackages                             ardillo/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. [Utility &amp; Helpers](/categories/utility)
4. /
5. ardillo/loop

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

ardillo/loop
============

ReactPHP Event Loop running on Ardillo

0.1.0(2y ago)656[2 PRs](https://github.com/ardillo-php/loop/pulls)1MITPHPPHP &gt;=8.1.0

Since Aug 30Pushed 2y ago1 watchersCompare

[ Source](https://github.com/ardillo-php/loop)[ Packagist](https://packagist.org/packages/ardillo/loop)[ RSS](/packages/ardillo-loop/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (1)Dependencies (5)Versions (4)Used By (1)

Ardillo ReactPHP Event Loop
---------------------------

[](#ardillo-reactphp-event-loop)

[![CI Status](https://github.com/ardillo-php/loop/workflows/CI/badge.svg)](https://github.com/ardillo-php/loop/actions/workflows/ci.yaml)[![Psalm Type Coverage](https://camo.githubusercontent.com/82ab37ec2c58be6f8ff61a6eee9ecbab3f68bdf277ce633b1f25c212205c7551/68747470733a2f2f73686570686572642e6465762f6769746875622f617264696c6c6f2d7068702f6c6f6f702f636f7665726167652e737667)](https://shepherd.dev/github/ardillo-php/loop)[![Latest Stable Version](https://camo.githubusercontent.com/badb30634c66e9c68774a288913aae1c8f1144ba0f1de6c5605d1fe981fbb6f3/68747470733a2f2f706f7365722e707567782e6f72672f617264696c6c6f2f6c6f6f702f762f737461626c652e706e67)](https://packagist.org/packages/ardillo/loop)[![Installs on Packagist](https://camo.githubusercontent.com/b1cf73436d43a2951dc56802658e19509cb9881253fca45c06292932772843bb/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f617264696c6c6f2f6c6f6f703f636f6c6f723d626c7565266c6162656c3d496e7374616c6c732532306f6e2532305061636b6167697374)](https://packagist.org/packages/ardillo/loop)[![Test Coverage](https://camo.githubusercontent.com/0a6bd4509e725ff4c762566a9ec3b5a96a15c919e4e34023cadde09423a7cb05/68747470733a2f2f6170692e636f6465636c696d6174652e636f6d2f76312f6261646765732f65353361356166653533363763653233303534362f746573745f636f766572616765)](https://codeclimate.com/github/ardillo-php/loop/test_coverage)[![Maintainability](https://camo.githubusercontent.com/2218d4c3605bf0ce6af0f79acfa71570d5daf16d6b79b2084eb245605aa7be74/68747470733a2f2f6170692e636f6465636c696d6174652e636f6d2f76312f6261646765732f65353361356166653533363763653233303534362f6d61696e7461696e6162696c697479)](https://codeclimate.com/github/ardillo-php/loop/maintainability)[![License](https://camo.githubusercontent.com/b8cadaa967891081f8f165695470689986c028821dd8a040132f6e661795dc0d/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6c6963656e73652d4d49542d626c7565)](LICENSE)

Ardillo Loop is an implementation of the ReactPHP Event Loop [interface](https://github.com/reactphp/event-loop).

For documentation, please refer to the ReactPHP loop API reference:  as well as our examples:

*Note:* Unlike the ReactPHP loop, Ardillo Loop cannot be restarted, i.e. once stopped, the implementing application is expected to prepare for termination. Given the nature of Ardillo applications (native desktop utilities), this should no be a limitation, however this can affect one's approach to unit testing.

This library also offers a [`ReactApp` class](src/ReactApp.php) which extends the base [Ardillo `App` class](https://ardillo.dev/docs/0.1.x/classes/app/) in such fashion that the actual event loop management is abstracted away from the application logic. This allows for a more natural approach to writing Ardillo applications, where the application logic is not bound to the event loop implementation.

### Installation

[](#installation)

Before proceeding, make sure you have installed and enabled the [Ardillo extension](https://github.com/ardillo-php/ext).

The recommended way to install Ardillo Loop is [via Composer](https://getcomposer.org/):

```
composer require ardillo/loop
```

### Tests and Static Analysis

[](#tests-and-static-analysis)

In order to run the tests, you need to clone the repository and install the dependencies via Composer:

```
git clone https://github.com/ardillo-php/loop.git
cd loop
composer install
```

You can then run the tests using the following command:

```
composer test
```

To run static analysis (PHPStan and Psalm), use the following commands:

```
composer phpstan
composer psalm
```

### License

[](#license)

The MIT License (MIT). Please see [`LICENSE`](LICENSE) for more information.

### Acknowledgments

[](#acknowledgments)

This library extends the [ReactPHP Event Loop](https://github.com/reactphp/event-loop) and is inspired by the [libuv loop](https://github.com/reactphp/event-loop/blob/1.x/src/ExtUvLoop.php) implementation.

### Contributing

[](#contributing)

Bug reports (and small patches) can be submitted via the [issue tracker](https://github.com/ardillo-php/loop/issues). Forking the repository and submitting a Pull Request is preferred for substantial patches. Please be sure to read and comply with the [Contributing Terms](CONTRIBUTING.md) document before proceeding.

###  Health Score

23

—

LowBetter than 27% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity13

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity44

Maturing project, gaining track record

 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

992d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/d9f358b63c4304f3ad919493eba06c1566279c434fd69a5286abda691a05b92b?d=identicon)[cip](/maintainers/cip)

---

Top Contributors

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

---

Tags

ardilloasynciodesktop-appphpreactphp

###  Code Quality

TestsPHPUnit

Static AnalysisPHPStan, Psalm

Type Coverage Yes

### Embed Badge

![Health badge](/badges/ardillo-loop/health.svg)

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

###  Alternatives

[friendsofphp/php-cs-fixer

A tool to automatically fix PHP code style

13.5k234.7M20.6k](/packages/friendsofphp-php-cs-fixer)[react/react

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

9.1k3.6M63](/packages/react-react)[react/stream

Event-driven readable and writable streams for non-blocking I/O in ReactPHP

688126.8M194](/packages/react-stream)[react/child-process

Event-driven library for executing child processes with ReactPHP.

34076.1M136](/packages/react-child-process)[react/zmq

ZeroMQ bindings for React.

2471.7M31](/packages/react-zmq)[carlosbuenosvinos/ddd

Domain-Driven Design PHP helper classes (Application Services, Transactions, Domain Events, etc.

665193.1k4](/packages/carlosbuenosvinos-ddd)

PHPackages © 2026

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