Допустим, у меня есть 3 разных пакета.
Я добавляю к слушателям событий каждый пакет.Когда в Bundle1 есть какое-либо исключение, Bundle2 и Bundle3 не должны его прослушивать.
Я проверил его добавление в каждый пакет событий EventListener, но когда в Bundle2 есть какая-либо ошибка, Bundle1 будет прослушивать, пытаясь обработать его.
Как справиться с этой ситуацией?
если нужен какой-либо код, то вот мой service.yaml в комплекте:
kernel.listener.test1bundle.exceptionlistener:
class: App\test1bundle\EventListener\ExceptionListener
tags:
- { name: kernel.event_listener, event: kernel.exception}
и вот мой слушатель исключений:
public function onKernelException(GetResponseForExceptionEvent $event)
{
// You get the exception object from the received event
$exception = $event->getException();
$message = [
"errors" => [
[
"title" => "Internal error in test1 bundle",
"detail" => $exception->getMessage()
]
]
];
$response = new JsonResponse();
$response->setData($message);
$response->headers->set('Content-Type', 'application/problem+json');
$event->setResponse($response);
}
я читал, что этоможно просто послушать контроллер.Но в этом случае прослушиватель контроллера будет также прослушивать исключения?