slam / dbal-debugstack-middleware
Doctrine\DBAL middleware for precise query debugging (DebugStack replacement)
Fund package maintenance!
Slamdunk
paypal.me/filippotessarotto
Installs: 16 360
Dependents: 1
Suggesters: 0
Security: 0
Stars: 3
Watchers: 1
Forks: 0
Open Issues: 2
pkg:composer/slam/dbal-debugstack-middleware
Requires
- php: ~8.4.0 || ~8.5.0
- doctrine/dbal: ^4.3.4
Requires (Dev)
- phpstan/phpstan: ^2.1.31
- phpstan/phpstan-phpunit: ^2.0.7
- phpstan/phpstan-strict-rules: ^2.0.7
- phpunit/phpunit: ^12.4.1
- slam/php-cs-fixer-extensions: ^3.14.0
This package is auto-updated.
Last update: 2026-02-18 17:08:57 UTC
README
Doctrine\DBAL middleware for precise query debugging (DebugStack replacement). Compared to the default logging middleware, this one:
- Tracks the query's execution time
- Doesn't handle exceptions
- 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
)
)
*/