我特別希望以某種方式擴展PDO
對象,以在每次執行查詢時添加一個內部計數器。我想以某種方式這樣做,我不必更改任何現有查詢或添加額外功能like this suggests。計數每個頁面使用PDO加載的查詢數
我不熟悉類或PDO類,但可以這樣做嗎?我將如何去做這件事?
我在想擴展query
和execute
,並在每次調用時增加一個存儲的變量。
我特別希望以某種方式擴展PDO
對象,以在每次執行查詢時添加一個內部計數器。我想以某種方式這樣做,我不必更改任何現有查詢或添加額外功能like this suggests。計數每個頁面使用PDO加載的查詢數
我不熟悉類或PDO類,但可以這樣做嗎?我將如何去做這件事?
我在想擴展query
和execute
,並在每次調用時增加一個存儲的變量。
擴展PDO
將像其他任何類一樣完成。這是否適合您的需求?在進行初始連接時,唯一的其他代碼更改將不得不實例化此類而不是PDO
類。
class PDOEx extends PDO
{
private $queryCount = 0;
public function query($query)
{
// Increment the counter.
++$this->queryCount;
// Run the query.
return parent::query($query);
}
public function exec($statement)
{
// Increment the counter.
++$this->queryCount;
// Execute the statement.
return parent::exec($statement);
}
public function GetCount()
{
return $this->queryCount;
}
}
只需執行:
SHOW PROFILES;
最大Query ID
是你所追求的。這也會爲您提供有關最近15個(默認)查詢執行時間的信息。
很好用!正是我在找的東西。但是,我把'exec'改成了'prepare'。我認爲這將抓住我所有的用途。 –
OOP太棒了:D – Juddling
這可以以某種方式實現來解釋'PDOStatement'嗎? – Daniel