这是一个将内置查询计时添加到 mysqli 类的简单示例。
这假设您已经定义了一个实现 iTimer 接口的“MyTimer”类。iTimer 类以最简单的形式记录指定 $key 的开始和停止时间(使用 microtime() 或 getrusage() 或其他)。
<?php
interface iTimer
{
public function start($key);
public function stop($key);
}
class mysqlp extends mysqli
{
function query($query, $resultmode)
{
$timer = MyTimer::getInstance();
$timer->start('mysqli::query');
$result = parent::query($query, $resultmode);
$timer->stop('mysqli::query');
return $result;
}
}
#usage
$mysqli = new mysqlp("localhost", "my_user", "my_password", "world");
$results = $mysqli->query("SELECT id FROM foo");