У меня есть подписчик с событием POST_WRITE.Обычно в таких методах я могу получить объект, который я сохранил.Как я могу это сделать?
final class ProductCreateSubscriber implements EventSubscriberInterface
{
private $entityManager;
private $hostRepository;
private $jwtEncoder;
private $tokenExtractor;
public function __construct(EntityManagerInterface $entityManager, HostRepository $hostRepository, JWTEncoderInterface $jwtEncoder, TokenExtractorInterface $tokenExtractor)
{
$this->jwtEncoder = $jwtEncoder;
$this->entityManager = $entityManager;
$this->hostRepository = $hostRepository;
$this->tokenExtractor = $tokenExtractor;
}
public static function getSubscribedEvents()
{
return [
KernelEvents::VIEW => ['createProductWatcher', EventPriorities::POST_WRITE],
];
}
public function createProductWatcher(GetResponseForControllerResultEvent $event)
{
---------- HERE I NEED SAVED OBJECT -----------
$token = $this->tokenExtractor->extract($event->getRequest());
if ($token) {
$payload = $this->jwtEncoder->decode($token);
$productWatcher = new ProductWatcher();
}
}
}
Могу ли я получить объект этим методом или мне нужно использовать EventListeners?