slam / dbal-debugstack-middleware
Doctrine\DBAL 中间件,用于精确查询调试(DebugStack 替代品)
v2.0.0
2024-02-06 16:14 UTC
Requires
- php: ~8.2.0 || ~8.3.0
- doctrine/dbal: ^4.0.0
Requires (Dev)
- phpstan/phpstan: ^1.10.57
- phpstan/phpstan-phpunit: ^1.3.15
- phpstan/phpstan-strict-rules: ^1.5.2
- phpunit/phpunit: ^10.5.10
- slam/php-cs-fixer-extensions: ^3.10
This package is auto-updated.
Last update: 2024-09-20 15:58:01 UTC
README
Doctrine\DBAL 中间件,用于精确查询调试(DebugStack 替代品)。与默认的日志中间件 相比,此中间件
- 跟踪查询的执行时间
- 不处理异常
- 不跟踪断开连接
安装
composer require slam/dbal-debugstack-middleware
用法
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 ) ) */