PDO plus
, (*1)
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., (*2)
, (*3)
Versions
Release |
Supported PHP versions |
4.x.x / master (here now) |
8.0, 8.1, 8.2, 8.3, 8.4 |
3.x.x |
7.2, 7.3, 7.4 |
Installation
Install via composer:, (*4)
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., (*5)
// 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:, (*6)
./dev/build.sh
Run tests for all PHP versions:, (*7)
./run_tests.sh
# in case of one specific version
./run_tests.sh 8.2
# simply with composer
composer test
Shell into the Docker image:, (*8)
./dev/shell.sh
# change PHP version?:
./switch_php.sh 8.1