https://github.com/filisko/pdo-plus
PDO plus extends PDO in order to log all your queries. This package also includes a Bar Panel for Tracy.
https://github.com/filisko/pdo-plus
legacy pdo pdo-logger profiler profiling tracy
Last synced: 18 days ago
JSON representation
PDO plus extends PDO in order to log all your queries. This package also includes a Bar Panel for Tracy.
- Host: GitHub
- URL: https://github.com/filisko/pdo-plus
- Owner: filisko
- License: mit
- Created: 2016-08-30T22:56:25.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2025-02-08T14:51:54.000Z (3 months ago)
- Last Synced: 2025-03-31T08:08:24.558Z (25 days ago)
- Topics: legacy, pdo, pdo-logger, profiler, profiling, tracy
- Language: PHP
- Homepage:
- Size: 158 KB
- Stars: 16
- Watchers: 1
- Forks: 17
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# PDO plus
[](https://www.codacy.com/gh/filisko/pdo-plus/dashboard?utm_source=github.com&utm_medium=referral&utm_content=filisko/pdo-plus&utm_campaign=Badge_Grade) [](https://coveralls.io/github/filisko/pdo-plus?branch=github-actions)
PDO plus extends PDO in order to log all your queries. This package also includes a Bar Panel for Tracy (useful for legacy projects), see the result below.

## Versions
| Release | Supported PHP versions |
| --- |-------------------------|
| 4.x.x / master (here now) | 8.0, 8.1, 8.2, 8.3, 8.4 |
| [3.x.x](https://github.com/filisko/pdo-plus/tree/3.x.x) | 7.2, 7.3, 7.4 |## Installation
Install via composer:
```shell
composer require filisko/pdo-plus
```## How to use
In this example we are using two different PDO instances just to show that it's doable.
```php
// Create an instance using PDO plus
$pdoConnection1 = new \Filisko\PDOplus\PDO('mysql:host=127.0.0.1;dbname=my_db', 'my_user', 'my_pass');
$pdoConnection2 = new \Filisko\PDOplus\PDO('mysql:host=127.0.0.1;dbname=my_other_db', 'my_user', 'my_pass');// ... our SQL queries ...
// Dump logged queries of PDO connection 1
var_dump($pdoConnection1->getLog());// --- the following code shows how to integrate with Tracy debugger
// Instance for Tracy BarPanel for connection 1
$db1Panel = new \Filisko\PDOplus\Tracy\BarPanel($pdoConnection1);
$db1Panel->title = "DB 1 Panel";// Instance for Tracy BarPanel for connection 2
$db2Panel = new \Filisko\PDOplus\Tracy\BarPanel($pdoConnection2);
$db2Panel->title = "DB 2 Panel";// Enables Tracy debugger and adds panels for each connection (easy to integrate with legacy apps!)
\Tracy\Debugger::enable();
\Tracy\Debugger::getBar()->addPanel($db1Panel);
\Tracy\Debugger::getBar()->addPanel($db2Panel);
```## Dev environment setup & tests
Build docker image:
```shell
./dev/build.sh
```Run tests for all PHP versions:
```shell
./run_tests.sh# in case of one specific version
./run_tests.sh 8.2# simply with composer
composer test
```Shell into the Docker image:
```shell
./dev/shell.sh# change PHP version?:
./switch_php.sh 8.1
```