From 7ef19ad07c865abfbbe8b51f727a8a2d380e34ca Mon Sep 17 00:00:00 2001 From: zYne Date: Tue, 26 Jun 2007 09:33:15 +0000 Subject: [PATCH] --- manual/new/docs/en/event-listeners.txt | 48 ++++++++++++++++++++++++-- 1 file changed, 46 insertions(+), 2 deletions(-) diff --git a/manual/new/docs/en/event-listeners.txt b/manual/new/docs/en/event-listeners.txt index 222fc95bd..1cbeb04b3 100644 --- a/manual/new/docs/en/event-listeners.txt +++ b/manual/new/docs/en/event-listeners.txt @@ -184,10 +184,54 @@ $conn->addListener(new Debugger()); $conn->addListener(new Logger()); -++ Altering execution -Doctrine_Event provides many methods for altering the execution of the listened method as well as for altering the behaviour of the listener chain. +++ The Event object ++++ Event codes + +Doctrine_Event uses constants as event codes. Above is the list of all availible event constants: + +* Doctrine_Event::CONN_QUERY +* Doctrine_Event::CONN_EXEC +* Doctrine_Event::CONN_PREPARE +* Doctrine_Event::CONN_CONNECT +* Doctrine_Event::STMT_EXECUTE +* Doctrine_Event::STMT_FETCH +* Doctrine_Event::STMT_FETCHALL + + +class MyListener extends Doctrine_EventListener +{ + public function preExec(Doctrine_Event $event) + { + $event->getCode(); // Doctrine_Event::CONN_EXEC + } +} + + +* Doctrine_Event::TX_BEGIN +* Doctrine_Event::TX_COMMIT +* Doctrine_Event::TX_ROLLBACK +* Doctrine_Event::SAVEPOINT_CREATE +* Doctrine_Event::SAVEPOINT_ROLLBACK +* Doctrine_Event::SAVEPOINT_COMMIT +* Doctrine_Event::RECORD_DELETE +* Doctrine_Event::RECORD_SAVE +* Doctrine_Event::RECORD_UPDATE +* Doctrine_Event::RECORD_INSERT +* Doctrine_Event::RECORD_SERIALIZE +* Doctrine_Event::RECORD_UNSERIALIZE + + +class MyRecord extends Doctrine_Record +{ + public function preUpdate(Doctrine_Event $event) + { + $event->getCode(); // Doctrine_Event::RECORD_UPDATE + } +} + +++ skipOperation() +Doctrine_Event provides many methods for altering the execution of the listened method as well as for altering the behaviour of the listener chain. For some reason you may want to skip the execution of the listened method. It can be done as follows (note that preExec could be any listener method):