https://github.com/slamdunk/dbal-debugstack-middleware
Doctrine\DBAL middleware for precise query debugging in for >= v3
https://github.com/slamdunk/dbal-debugstack-middleware
Last synced: over 1 year ago
JSON representation
Doctrine\DBAL middleware for precise query debugging in for >= v3
- Host: GitHub
- URL: https://github.com/slamdunk/dbal-debugstack-middleware
- Owner: Slamdunk
- License: mit
- Created: 2023-12-13T09:00:22.000Z (over 2 years ago)
- Default Branch: master
- Last Pushed: 2025-03-18T17:01:17.000Z (over 1 year ago)
- Last Synced: 2025-03-18T17:51:29.823Z (over 1 year ago)
- Language: PHP
- Size: 115 KB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Slam\DbalDebugstackMiddleware
[](https://packagist.org/packages/slam/dbal-debugstack-middleware)
[](https://packagist.org/packages/slam/dbal-debugstack-middleware)
[](https://github.com/Slamdunk/dbal-debugstack-middleware/actions)
Doctrine\DBAL middleware for precise query debugging (DebugStack replacement).
Compared to the [default logging middleware](https://github.com/doctrine/dbal/pull/4967), 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
```php
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->getQueries());
/*
* 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
)
)
*/
```