Sie sollten den Ereignisabonnenten verwenden, wenn Sie mehrere Ereignisse in einer Klasse behandeln möchten, z. B. in diesem Artikel auf der symfony2-DokumentseiteMan kann feststellen, dass der Ereignis-Listener nur ein Ereignis verwalten kann. Angenommen, Sie möchten mehrere Ereignisse für eine Entität, prePersist, preUpdate, postPersist usw. verarbeiten. Wenn Sie den Ereignis-Listener verwenden, müssen Sie mehrere Ereignis-Listener codieren. eine für jedes Ereignis, aber wenn Sie mit einem Ereignisabonnenten arbeiten, müssen Sie nur eine Klasse als Ereignis-Abonnenten codieren. Sehen Sie, dass Sie mit dem Ereignisabonnenten mehr als ein Ereignis in einer Klasse verwalten können Um sich auf die Anforderungen des Modellgeschäfts zu konzentrieren, können Sie beispielsweise mehrere Lebenszyklusereignisse global nur für eine Gruppe Ihrer Entitäten behandeln. Dazu können Sie eine übergeordnete Klasse codieren und diese globalen Methoden darin definieren. Lassen Sie dann Ihre Entitäten diese Klasse erben, und später in Ihrem Ereignis-Abonnenten abonnieren Sie jedes gewünschte Ereignis, prePersist,preUpdate, postPersist etc ... und fragen Sie dann nach dieser übergeordneten Klasse und führen Sie diese globalen Methoden aus.