<?php// using PDO dsn for connecting sqlite memory table$dbh=Doctrine_Db::getConnection('sqlite::memory:');classMyLoggerextendsDoctrine_Db_EventListener{publicfunctiononPreQuery(Doctrine_Db_Event$event){print"database is going to be queried!";}publicfunctiononQuery(Doctrine_Db_Event$event){print"executed: ".$event->getQuery();}}$dbh->setListener(newMyLogger());$dbh->query("SELECT * FROM foo");// prints:// database is going to be queried// executed: SELECT * FROM fooclassMyLogger2extendsDoctrine_Overloadable{publicfunction__call($m,$a){print$m." called!";}}$dbh->setListener(newMyLogger2());$dbh->exec("DELETE FROM foo");// prints:// onPreExec called!// onExec called!?>