slam/dbal-debugstack-middleware

Doctrine\DBAL middleware for precise query debugging (DebugStack replacement)

Maintainers

👁 Slam

Package info

github.com/Slamdunk/dbal-debugstack-middleware

pkg:composer/slam/dbal-debugstack-middleware

Statistics

Installs: 23 058

Dependents: 1

Suggesters: 0

Stars: 3

Open Issues: 3

v2.3.0 2025-10-23 13:42 UTC

Requires

Suggests

None

Provides

None

Conflicts

None

Replaces

None

MIT a4d8eb56499b3fb7f7341e865279b3faeef65a42

  • Filippo Tessarotto <zoeslam.woop@gmail.com>

This package is auto-updated.

Last update: 2026-06-18 20:35:12 UTC


README

👁 Latest Stable Version
👁 Downloads
👁 Integrate

Doctrine\DBAL middleware for precise query debugging (DebugStack replacement). Compared to the default logging middleware, this one:

  1. Tracks the query's execution time
  2. Doesn't handle exceptions
  3. Doesn't track disconnections

Installation

composer require slam/dbal-debugstack-middleware

Usage

use Doctrine\DBAL\Configuration;
use Doctrine\DBAL\DriverManager;
use Doctrine\DBAL\ParameterType;
use Slam\DbalDebugstackMiddleware\DebugStack;
use Slam\DbalDebugstackMiddleware\Middleware;

$debugStack = new DebugStack();

$conn = DriverManager::getConnection(
 $connectionParams,
 (new Configuration)->setMiddlewares([
 new Middleware($debugStack)
 ])
);

$result = $conn->executeQuery(
 'SELECT * FROM users WHERE active = :active',
 ['active' => true],
 ['active' => ParameterType::BOOLEAN],
);

print_r($debugStack->popQueries());

/*
 * Output:
 *
 Array
 (
 [0] => Slam\DbalDebugstackMiddleware\Query Object
 (
 [sql] => SELECT * FROM users WHERE active = :active
 [params] => Array
 (
 [active] => true
 )
 [types] => Array
 (
 [active] => 5
 )
 [executionMs] => 72.05312
 )
 )
 */