Yes, it's possible to add listeners globally.
First create a listener (this example listens to the PreUpdate event):
use Doctrine\Common\Persistence\Event\LifecycleEventArgs;
class MyEventListener
{
public function preUpdate(LifecycleEventArgs $args)
{
$entity = $args->getObject();
$entityManager = $args->getObjectManager();
// do what you want to do...
}
}
Then register your listener.
You can do this before the EntityManager is created:
$eventManager = new \Doctrine\Common\EventManager();
$eventManager->addEventListener(array(\Doctrine\ORM\Events::preUpdate), new MyEventListener());
$entityManager = \Doctrine\ORM\EntityManager::create($dbOpts, $config, $eventManager);
Or after it is created:
$eventManager = $entityManager->getEventManager();
$eventManager->addEventListener(array(\Doctrine\ORM\Events::preUpdate), new MyEventListener());
Read more about life-cycle events in the docs.