PHPackages                             diego-ninja/swoole-mysql-doctrine-driver - 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. [Database &amp; ORM](/categories/database)
4. /
5. diego-ninja/swoole-mysql-doctrine-driver

AbandonedArchivedLibrary[Database &amp; ORM](/categories/database)

diego-ninja/swoole-mysql-doctrine-driver
========================================

A Doctrine DBAL Driver implementation on top of Swoole Coroutine Mysql extension

61223PHP

Since Feb 14Pushed 4y agoCompare

[ Source](https://github.com/diego-ninja/swoole-mysql-doctrine-driver)[ Packagist](https://packagist.org/packages/diego-ninja/swoole-mysql-doctrine-driver)[ RSS](/packages/diego-ninja-swoole-mysql-doctrine-driver/feed)WikiDiscussions main Synced 1mo ago

READMEChangelogDependenciesVersions (1)Used By (0)

Swoole Coroutine MySQL Doctrine DBAL Driver
===========================================

[](#swoole-coroutine-mysql-doctrine-dbal-driver)

A `Doctrine\DBAL\Driver` implementation on top of `Swoole\Coroutine\MySQL`.

Getting started
---------------

[](#getting-started)

### Install

[](#install)

```
composer require diego-ninja/swoole-mysql-doctrine-driver
```

### Usage

[](#usage)

Doctrine parameters, for both DBAL and ORM projects, accepts the `driverClass` option; it is where we can inject this project's driver:

```
use Doctrine\DBAL\{Driver, DriverManager};

$params = [
    'dbname' => 'mysql',
    'user' => 'mysql',
    'password' => 'mysql',
    'host' => 'db',
    'driverClass' => Driver\Swoole\Coroutine\Mysql\Driver::class,
    'poolSize' => 8,
];

$conn = DriverManager::getConnection($params);
```

*Yes, I deliberately used the `Doctrine\DBAL\Driver` namespace + `Swoole\Coroutine\MySQL` namespace, so it is not confusing.*

#### You are ready to rock inside Coroutines (Fibers):

[](#you-are-ready-to-rock-inside-coroutines-fibers)

```
Co\run(static function() use ($conn): void {
    $results = [];
    $wg = new Co\WaitGroup();
    $start_time = time();

    Co::create(static function() use (&$results, $wg, $conn): void {
        $wg->add();
        $results[] = $conn->executeQuery('select 1, sleep(1)')->fetchOne();
        $wg->done();
    });

    Co::create(static function() use (&$results, $wg, $conn): void {
        $wg->add();
        $results[] = $conn->executeQuery('select 1, sleep(1)')->fetchOne();
        $wg->done();
    });

    $wg->wait();
    $elapsed = time() - $start_time;
    $sum = array_sum($results);

    echo "Two sleep(1) queries in $elapsed second, returning: $sum\n";
});
```

You should be seeing `Two sleep(1) queries in 1 second, returning: 2` and the total time should **not** be 2 (the sum of `sleep(1)`'s) because they ran concurrently.

```
real    0m1.228s
user    0m0.036s
sys     0m0.027s
```

###  Health Score

20

—

LowBetter than 14% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity17

Limited adoption so far

Community10

Small or concentrated contributor base

Maturity27

Early-stage or recently created project

 Bus Factor1

Top contributor holds 91.7% 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.

### Community

Maintainers

![](https://www.gravatar.com/avatar/dff5b0a76de3d555cb236c400384058ba23982bce2e859cc1b2f0c1f0161a3e6?d=identicon)[diego.ninja](/maintainers/diego.ninja)

---

Top Contributors

[![leocavalcante](https://avatars.githubusercontent.com/u/183722?v=4)](https://github.com/leocavalcante "leocavalcante (11 commits)")[![diego-ninja](https://avatars.githubusercontent.com/u/78662279?v=4)](https://github.com/diego-ninja "diego-ninja (1 commits)")

---

Tags

satis-enabled

### Embed Badge

![Health badge](/badges/diego-ninja-swoole-mysql-doctrine-driver/health.svg)

```
[![Health](https://phpackages.com/badges/diego-ninja-swoole-mysql-doctrine-driver/health.svg)](https://phpackages.com/packages/diego-ninja-swoole-mysql-doctrine-driver)
```

###  Alternatives

[doctrine/orm

Object-Relational-Mapper for PHP

10.2k285.3M6.2k](/packages/doctrine-orm)[jdorn/sql-formatter

a PHP SQL highlighting library

3.9k115.1M102](/packages/jdorn-sql-formatter)[illuminate/database

The Illuminate Database package.

2.8k52.4M9.4k](/packages/illuminate-database)[mongodb/mongodb

MongoDB driver library

1.6k64.0M546](/packages/mongodb-mongodb)[ramsey/uuid-doctrine

Use ramsey/uuid as a Doctrine field type.

90340.3M211](/packages/ramsey-uuid-doctrine)[reliese/laravel

Reliese Components for Laravel Framework code generation.

1.7k3.4M16](/packages/reliese-laravel)

PHPackages © 2026

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