herrera-io/pdo-log

此包已被弃用,不再维护。未建议替代包。

记录 PDO 查询及其执行时间的简单方法。

1.0.0 2013-08-23 20:16 UTC

This package is not auto-updated.

Last update: 2021-12-07 01:35:03 UTC


README

Build Status

此库提供 PDO 的替代类。其目的是记录查询及其执行时间。您还可以设置一个观察者,每当添加新日志条目时,它将被调用。

$pdo = new Herrera\Pdo\Pdo('sqlite::memory');

$pdo->onLog(
    function (array $entry) {
        print_r($entry);
    }
);

$pdo->exec('CREATE TABLE test ()');

/*
Array
(
    [query] => CREATE TABLE test ()
    [time] => 0.00026607513427734
    [values] => Array
        (
        )
)
*/

// retrieves all logged queries
$entries = $pdo->getLog();

安装

使用 Composer

$ composer require "herrera-io/pdo-log=~1.0"

用法

日志 Pdo 类是真实 PDO 类的子类,所以唯一改变的是增加了记录某些操作的能力,并且 query()prepare() 将返回日志版本的 PDOStatement 类。此类版本不是原始类的子类,但所有属性获取/设置和方法调用都被镜像。您仍然可以使用 PdoStatement->getPdoStatement() 获取真实实例。