Contributte event dispatcher + doctrine lifecycle

Pepino
Člen | 126
+
0
-

Zdravím, chtěl bych se zeptat jak danou věc řešíte vy.

Mám entitu a potřebuju po uložení/smazání vyvolat event.

  1. Při použítí @ORM\HasLifecycleCallbacks nemám v příslušných funkcích přístup k dispatcheru (nebo nevím jak se k němu dostat).
  2. Můžu použít @ORM\EntityListeners({"ItemListener"}) a ItemListener zaregistrovat jako službu. Tady už si můžu v konstruktoru předat dispatcher a event vyvolat. Toto řešení funguje, ale příjde mi trochu krkolomné.

Díky za každý tip.

ZahorskyJan
Člen | 50
+
0
-

Mame abstraktni manager, ktery v metodach create/update/delete odpaluje vlastni before/after udalosti pres eventDispatcher. Mame tak vetsi kontrolu nad tim, co do tech udalosti leti a jak s tim muzeme pracovat.

Pepino
Člen | 126
+
0
-

@ZahorskyJan Díky za tip! Jen bych se zeptal pro upřesnění. Tímto způsobem teda posíláte event u každé entity/akce nebo můžete i nějak jednoduše managovat, že chcete jen konkrétní entity/akce ?