Doctrine: Entity listeners
7 August 2022 (Updated 1 November 2025)
Register entity listener
Map the entity listener class using annotations.
<?php
namespace MyProject\Entity;
use App\EventListener\UserListener;
#[Entity]
#[EntityListeners([UserListener::class])]
class User
{
// ....
}
Define entity listener
<?php
namespace MyProject\EntityListener;
use Doctrine\ORM\Event\PreUpdateEventArgs;
class UserListener
{
public function preUpdate(User $user, PreUpdateEventArgs $event)
{
// Do something on pre update.
}
}
Configure entity listeners as services
Add the following config to your config/services.yaml file:

Other notes
- An entity listener is invoked just for an entity, as opposed to Doctrine events which are invoked for all entities.
Sources
Tagged:
Doctrine
Thanks for your comment 🙏. Once it's approved, it will appear here.
Leave a comment